[SOLUCIONADO] Como conviene ejecutar una nueva Ventana??

Iniciado por Skeletron, 10 Octubre 2009, 00:55 AM

0 Miembros y 1 Visitante están viendo este tema.

Skeletron

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?)

Skeletron

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()"????

raul338

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

seba123neo

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.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

Skeletron

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???

seba123neo

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...
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

Skeletron

Pero "LOGIN" me quedaria dando vueltas por la memoria.. o me equivoco?

seba123neo

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...
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

Skeletron

Pero.. para ello, en el "LOGIN" tengo que hacer un:

PRINCIPAL.Show()
Dispose()

Cuando se hace el Dispose, se cierra toda la aplicacion..

seba123neo

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...

Código (vbnet) [Seleccionar]
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...

Código (vbnet) [Seleccionar]
    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.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson