para no cargar un formulario nuevamente

29/08/2003 - 14:45 por Roger | Informe spam
amigos del grupo:

Necesito una ayuda.

Tengo un proyecto windows vb net que tiene 3 formularios.

Como puedo controlar que un formulario no se levante mas
de una vez. Los formularios los levanto desde menu. El
control que sea desde el mismo VB y no por una rutina que
yo haga.

Roger
 

Leer las respuestas

#1 micky
29/08/2003 - 15:56 | Informe spam
Lo que debes hacer es que el formulario siga el patrón
de instancia única, pero debes escribir unas cuantas
lineas de código para eso... lo puedes hacer tu mismo o
copiar el código que genera el asistente para la
actualización de VB6 a VB.NET.

Te muestro como lo hago yo...

En mi formulario llamado FormUnico añado lo siguiente:

#Region " Codigo del patron de instancia única "
Private Shared _instancia As FormUnico

'Con este método se obtiene la instancia única de la
clase
Public Shared Function GetInstancia() As FormUnico
If _instancia Is Nothing Then
_instancia = New FFormUnico
End If
Return _instancia
End Function

'A demás el constructor se debe establecer como
private
#End Region

Y cambio 'Public Sub New()' por 'Private Sub New()'

Y ahora para abrir el formulario (siempre el mismo) se
hace con...

Dim f as FormUnico
f = FormUnico.GetInstancia() 'En vez de f = new FormUnico
f.show()

Saludos.
Micky.

amigos del grupo:

Necesito una ayuda.

Tengo un proyecto windows vb net que tiene 3 formularios.

Como puedo controlar que un formulario no se levante mas
de una vez. Los formularios los levanto desde menu. El
control que sea desde el mismo VB y no por una rutina


que
yo haga.

Roger

.

Preguntas similares