martes, 8 de enero de 2013

Abrir formulario una sola vez en Visual Basic .NET

La pregunta es la siguiente ¿cómo controlar que un formulario de una aplicación windows se abra sólo una vez sin ser un cuadro de dialogo?.

Es habitual querer abrir varios formularios windows, pero no queremos usar el método ShowDialog() de un formulario y así poder abrir otras ventanas de nuestra aplicación.

El siguiente código lo colocamos dentro del evento que abra el formulario: un menú, botón, etc..


Private Sub Objeto_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Objeto.Click

For Each F As Form In Me.MdiChildren

        
     If F.GetType Is GetType(frm_a_Mostrar) Then

           F.Activate()
           F.WindowState = FormWindowState.Normal

           Exit Sub

     End If

Next

Dim frm As New frm_a_Mostrar

frm.MdiParent = Me

frm.Show()

End Sub

Hasta pronto

1 comentario: