ocultar Loginform

29/12/2006 - 16:15 por Yonaides | Informe spam
Saludos a Todo El foro una vez mas y Felices Fiestas

Mi inquietud es la siguiente:

Tengo un formulario de tipo loginform en mi proyecto y cuando
digito la clave y busco en la base de datos y confirmo con el usuario
sigue el codigo siguiente

me.hide
call MDIprincipal.show
para ocultar el formulario y llamar el otro formulario principal
pero aveces cuando digito el acceso muy rapido
el formulario loginform se ve; osea se queda detras del MDIprincipal

alguna idea de por que me pasa.

el objetivo es ocultar el loginform y trabajar con el MDIprincipal.
 

Leer las respuestas

#1 SoftJaén
29/12/2006 - 17:04 | Informe spam
"Yonaides" escribió:

Tengo un formulario de tipo loginform en mi proyecto y cuando
digito la clave y busco en la base de datos y confirmo con el usuario
sigue el codigo siguiente

me.hide
call MDIprincipal.show
para ocultar el formulario y llamar el otro formulario principal
pero aveces cuando digito el acceso muy rapido
el formulario loginform se ve; osea se queda detras del MDIprincipal

alguna idea de por que me pasa.



Hola:

Ignoro el motivo que al llamar al método «Hide», el formulario en vez de
ocultarse, se esconda detrás de otro formulario, con independencia que
digítes o no muy rápido. ¿?

Llamar al método «Hide» equivale a establecer a «False» el valor de la
propiedad «Visible»

el objetivo es ocultar el loginform y trabajar con el MDIprincipal.



Y en vez de ocultar el formulario "login", ¿por qué no lo cierras? Te digo
lo que le comenté el otro día a otro usuario del grupo de noticias.

[...] Si no deseas mostrar el formulario MDI hasta que la autenticación del
usuario sea correcta, deberás de habilitar un procedimiento «Sub Main» que
deberá ser el objeto inicial de la aplicación, tal y como se hacía en Visual
Basic clásico.

Para ello, añade un módulo a tu aplicación y crea en él un procedimiento
público «Sub Main». Una vez hecho ésto, entra en las Propiedades del
proyecto, y en la pestaña «Aplicación», deshabilita la casilla «Habilitar
marco de trabajo de la aplicación», para que la opción «Sub Main» se
encuentre disponible en el cuadro combinado «Objeto inicial».

El procedimiento «Sub Main» se quedaría más o menos de la siguiente manera:

Module Module1

Public Sub Main()

' Mostramos el formulario "login"
'
Dim frm As New frmLogin

Dim dr As DialogResult = frm.ShowDialog

' Si el resultado del cuadro de diálogo es
' distinto a OK, finalizará la aplicación.
'
If dr <> DialogResult.OK Then
Application.Exit()
Else
' La autenticación ha sido correcta, por lo que
' mostramos el formulario principal MDI
Application.Run(MDIprincipal)
End If

End Sub

End Module

Pero para que todo esto funcione, el formulario "login" (que actúa como si
se tratara de un cuadro de diálogo), deberá de devolver un resultado, que
para el ejemplo que te he puesto, deberá ser el valor «DialogResult.OK».

Como me imagino que dicho formulario tendrá los típicos botones «Aceptar» y
«Cancelar», en el evento «Click» del botón «Aceptar» deberás ejecutar lo
siguiente:

Private Sub Button1_Click( ... ) Handles Button1.Click

' Proceso de autenticación
If Autenticacion = True Then

' La autenticación ha sido correcta, por lo que
' se cerrará el formulario.
'
Me.DialogResult = Windows.Forms.DialogResult.OK

Else

' La autenticación no ha sido correcta

End If

End Sub

[...]

Un saludo y ¡Feliz Año Nuevo!

Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.

Preguntas similares