Hola gente..
Bueno, les comento que tengo una aplicacion, donde hay que iniciar sesion...
La iniciar sesion, teoricamente, tiene que cerrarse esa ventana de LOGIN (Con un Dispose()) y Anterior al Dispose, tendria que Ejecutar otro FRAME que tengo...
Como hago??? Como es la mejor forma? o la mas Eficiente... Algo que o queden dependencias..
Si ahgo un ShowDialog, no podria, proque quedaria una dependencia, y no cerraría nunca el DISPOSE del Login...
Le doy un:
Pantalla.Show()
Dispose()
(así me ejecuta el FRAME: Pantalla, y cierra el Login?)
Por lo que veo, de esa manera Abre el "PANTALL", pero lo cierra automaticamente...
Como puedo ahcer???
O tendria que ejecutar primero a PANTALLA, y que en el LOAD de Pantalla llamo a "LOGIN.SHOWDIALOG()"????
No entendi nada (aclara los nombres de los formularios)
Si la aplicacion empieza con un login (frmLogin) y despues solo se queda en un formulario principal (si se cierra termina la aplicacion, no importan los demas forms), te conviene llamar a frmLogin antes de que se muestre el formPrincipal (en el evento Form_Initialize haces un showDialog con un IF para saber si termino OK)
En cambio si es una secuencia de formularios (ejemplo: un asistente), te conviene usar un sub main (o similar). y de ahi instanciar los formularios, y mostrarlos uno por uno mediante ShowDialog
Hola, la verdad no entendi, mira como hacen todos los logins, si tenes una pantalla de login lo que tenes que hacer es ejecutar primero esa pantalla(en realidad lo priemro en un programa debe ser el Main...pero que ejecute ese form) y cuando el tipo se loguea la cerras normal y mostras el formulario de la aplicacion principal, no es mas que eso, yo hice un programa que tiene login de usuarios y asi es como se hace...no entiendo lo del FRAME.....¿que es una parte de la misma pantalla?
saludos.
Cuando Dije FRAME clavé cualquiera.. era: FORM
Miren.. Yo tengo la aplicacion iniciando en "LOGIN"
Desde Login, se pueden loguear.. (que loco..)
Una vez logueado, tengo que ir al FORM Principal.. Supongamos que se llama: "PRINCIPAL"
Y en "PRINCIPAL", hacer todo lo que tengo que hacer.. y bla bla bla.. es como un programa para controlar ventas.. algo así..
Ustedes dicen que tendria que hacer que la aplicacion se inicie desde PRINCIAL, y en el "Public sub Principal_Load() me.load" le mando la linea: "LOGIN.ShowDialog()", Y controlo todo con DialogResult???
yo te digo que debe primero cargar en el Main (de un modulo) el form LOGIN...y nada mas...
despues cuado te logueas correctamente desde LOGIN, ahi ocultas el LOGIN y mostras el form PRINCIPAL...
Pero "LOGIN" me quedaria dando vueltas por la memoria.. o me equivoco?
Cita de: Skeletron en 10 Octubre 2009, 01:25 AM
Pero "LOGIN" me quedaria dando vueltas por la memoria.. o me equivoco?
no porque ? le haces un Me.Close, Me.Dispose lo que sea, lo descargas por completo, no un .Hide...
Pero.. para ello, en el "LOGIN" tengo que hacer un:
PRINCIPAL.Show()
Dispose()
Cuando se hace el Dispose, se cierra toda la aplicacion..
si pasa eso :D, haber por darte un ejemplo cualqueira, supongamos tengo 2 forms () form1,form2) en el form1 tengo un boton que abro el form2 y descargo el 1..
en un modulo...acordate de empezar por el Sub Main...
Module Module1
Sub Main()
Dim vResultado As New Form1
If vResultado.ShowDialog() = DialogResult.OK Then
Dim frm As New Form2
frm.ShowDialog()
End If
End Sub
End Module
en el boton del form1...
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Me.Close()
Me.Dispose()
Me.DialogResult = Windows.Forms.DialogResult.OK
End Sub
saludos.
Perfecto Amigo..
Gracias.
Así lo hice..
Jejeje si no me equivoco eso se soluciona facilmente en las propiedades del proyecto. No recuerdo como se llama exactamente la opcion, pero dice algo como: Terminar la ejecucion cuando se cierre la ultima ventana.
A lo que entiendo ud lo tiene con el default... que es terminar la ejecucion cuando se cierre el form inicial.