No abrir un formulario varias veces

1

Click here to load reader

description

Código ejemplo en VB.Net para evita que un formulario se abra si ya esta cargado.

Transcript of No abrir un formulario varias veces

Page 1: No abrir un formulario varias veces

No permitir abrir un formulario más de una ves

Función que impide que se abra más de una vez un formulario, lo que hace es buscar si el formulario que se quiere abrir ya está cargado, si es así simplemente no carga la nueva instancia del formulario.

Se asume que los formularios se instancian o son llamados desde un MDI (Menú).

'Función: chequear si el formulario ya ha sido cargadoPublic Sub llamarform(ByVal formulario As Form, ByVal mdi As Form, ByVal tipo As Integer)

Dim frmllamado As FormDim escargado As Boolean = FalseTry

'Chequea si el formulario ha sido cargadoFor Each frmllamado In mdi.MdiChildren        

'Compara si es igual y retorna verdadero si lo es.If frmllamado.Text = formulario.Text Then  

escargado = True   'Marca la banderaExit For      'Sale del loop si es verdadero

End IfNext

 'Carga el formulario si no esta cargado.If Not escargado Then

formulario.MdiParent = mdi              formulario.Show()

ElseIf escargado Thenfrmllamado.Focus()   'Enfoca el objeto

End IfCatch ex As Exception                              

MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")End Try

formulario = Nothing  'Limpiar todofrmllamado = Nothing

End Sub