No permitir abrir un formulario mas de una ves

Función que impide que se abra mas de una ves un formulario, lo que hace es buscar si el formulario que se quiere abrir ya esta 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 (Menu).

'Función: chequear si el formulario ya ha sido cargado
Public Sub llamarform(ByVal formulario As Form, _
ByVal mdi As Form, ByVal tipo As Integer)
Dim frmllamado As Form
Dim escargado As Boolean = False
Try
'Chequea si el formulario ha sido cargado
For 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 bandera
Exit For      'Sale del loop si es verdadero
End If
Next
If Not escargado Then
  'Carga el formulario si no esta llamado
formulario.MdiParent = mdi              
formulario.Show()
ElseIf escargado Then
frmllamado.Focus()   'Enfoca el objeto
End If
Catch ex As Exception                              
MsgBox(ex.Message, MsgBoxStyle.Critical, "Error")
End Try
formulario = Nothing  'Limpiar todo
frmllamado = Nothing
End Sub


Anuncios

Acerca de tihuilo

Estudiante de Ing. en Sistemas y Computación
Esta entrada fue publicada en Visual Basic.Net. Guarda el enlace permanente.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s