SoloCodigo

CLR: .Net / Mono / Boo / Otros CLR => VB .NET => Mensaje iniciado por: Miguelencho en Lunes 31 de Octubre de 2005, 20:16

Título: Pregunta Sobre Formas
Publicado por: Miguelencho en Lunes 31 de Octubre de 2005, 20:16
Como estan estimados amigos de solocodigo, tengo una pregunta sobre formas y mdi, tengo una aplicacion donde utilizo un formulario mdi con varias formas child, y un menu principal.

Ahora, el problema es que los formularios se repiten cada vez que presiono un item en el menu, en el menu instancio cada item con la forma que debe abrir, como puedo hacer para controlar que solo se abra la forma una sola vez o si la forma esta abierta pero oculta detras de otra de las formas child abierta, la muestre y actualice los datos que estan en ella, ya que estoy utilizando una base de datos access para mostrar los datos.

Se me ocurre crear un objeto de cada forma en el evento load de cada forma, se puede hacer de otra manera?

Aqui esta el ejm. de uno de los items del menú...

Citar
Private Sub MenuItem9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MenuItem9.Click
        Dim obj As New vertodos()
        obj.MdiParent = Me
        obj.Show()
End Sub

Por ahora es todo amigos, tengo mas preguntas pero quiero resolver esta primero y gracias de antemano.......
Título: Re: Pregunta Sobre Formas
Publicado por: senzao18 en Miércoles 2 de Noviembre de 2005, 21:10
Busque el link donde encontre como hacerlo y no lo encontré pero te mando mi codigo....

Si quieres explication hay me dices....
Pero se explica solo jajajja

Código: Text
  1.  
  2.                 Dim nHwnI As System.IntPtr
  3.                 nHwnI = FindWindow(vbNullString, "Módulo de Auditoría")
  4.                 If Val(nHwnI.ToString) <> 0 Then
  5.                     ShowWindow(nHwnI, 9)
  6.                     SetForegroundWindow(nHwnI)
  7.                 Else
  8.                     Dim oModuloAuditoria As New MainFormAuditoria
  9.                     oModuloAuditoria.ShowDialog()
  10.                 End If
  11.  
  12.  
  13.  
  14.  


Código: Text
  1.  
  2. #Region "APIs"
  3.  
  4.     <System.Runtime.InteropServices.DllImport("user32.dll")> _
  5.     Private Shared Function FindWindow(ByVal lpClassName As String, ByVal lpWindowName As String) As System.IntPtr
  6.     End Function
  7.  
  8.     <System.Runtime.InteropServices.DllImport("user32.dll")> _
  9.     Private Shared Function ShowWindow(ByVal hWnd As System.IntPtr, ByVal nCmdShow As Integer) As Integer
  10.     End Function
  11.  
  12.     <System.Runtime.InteropServices.DllImport("user32.dll")> _
  13.     Public Shared Function SetForegroundWindow(ByVal hWnd As System.IntPtr) As Boolean
  14.     End Function
  15.  
  16.  #End Region
  17.  
  18.  
  19.  
  20.  
Título: Re: Pregunta Sobre Formas
Publicado por: Miguelencho en Sábado 5 de Noviembre de 2005, 01:29
Bueno amigo el codigo lo entido, si estoy utilizando mdi no es problema cierto, solo tendría que establecer el mdiparent cierto, y si me puedes explicar un poquito la segunda seccion de codigo seria de utilidad, gracias.....!!!!!! :D
Título: Re: Pregunta Sobre Formas
Publicado por: senzao18 en Sábado 5 de Noviembre de 2005, 01:35
No importa que sea MDI.

Y la segunda seccion de codigo solo hacemos uso de unas API de windows que nos proveen de funciones para buscar ventanas :D.

Que hacen por dentro???? Solo dios y su programador lo sabe, yo no, solo se que me ayudan a cumplir con el objetivo :D.
Título: Re: Pregunta Sobre Formas
Publicado por: Miguelencho en Sábado 5 de Noviembre de 2005, 14:39
Gracias amigo forero....


 :lol: