Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Skeletron en 10 Octubre 2009, 00:55 am



Título: [SOLUCIONADO] Como conviene ejecutar una nueva Ventana??
Publicado por: Skeletron en 10 Octubre 2009, 00:55 am
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?)


Título: Re: Como conviene ejecutar una nueva Ventana??
Publicado por: Skeletron en 10 Octubre 2009, 00:57 am
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()"????


Título: Re: Como conviene ejecutar una nueva Ventana??
Publicado por: raul338 en 10 Octubre 2009, 01:10 am
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


Título: Re: Como conviene ejecutar una nueva Ventana??
Publicado por: seba123neo en 10 Octubre 2009, 01:11 am
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.


Título: Re: Como conviene ejecutar una nueva Ventana??
Publicado por: Skeletron en 10 Octubre 2009, 01:21 am
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???


Título: Re: Como conviene ejecutar una nueva Ventana??
Publicado por: seba123neo en 10 Octubre 2009, 01:23 am
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...


Título: Re: Como conviene ejecutar una nueva Ventana??
Publicado por: Skeletron en 10 Octubre 2009, 01:25 am
Pero "LOGIN" me quedaria dando vueltas por la memoria.. o me equivoco?


Título: Re: Como conviene ejecutar una nueva Ventana??
Publicado por: seba123neo en 10 Octubre 2009, 01:27 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...


Título: Re: Como conviene ejecutar una nueva Ventana??
Publicado por: Skeletron en 10 Octubre 2009, 01:29 am
Pero.. para ello, en el "LOGIN" tengo que hacer un:

PRINCIPAL.Show()
Dispose()

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


Título: Re: Como conviene ejecutar una nueva Ventana??
Publicado por: seba123neo en 10 Octubre 2009, 01:54 am
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
  1. Module Module1
  2.    Sub Main()
  3.        Dim vResultado As New Form1
  4.        If vResultado.ShowDialog() = DialogResult.OK Then
  5.            Dim frm As New Form2
  6.            frm.ShowDialog()
  7.        End If
  8.    End Sub
  9. End Module

en el boton del form1...

Código
  1.    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
  2.        Me.Close()
  3.        Me.Dispose()
  4.        Me.DialogResult = Windows.Forms.DialogResult.OK
  5.    End Sub

saludos.


Título: Re: Como conviene ejecutar una nueva Ventana??
Publicado por: Skeletron en 10 Octubre 2009, 02:06 am
Perfecto Amigo..
Gracias.
Así lo hice..


Título: Re: Como conviene ejecutar una nueva Ventana??
Publicado por: Mr. Crowley en 10 Octubre 2009, 02:51 am
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.