Ayuda con Application.Exit

26/10/2006 - 02:41 por edcha | Informe spam
Nesecito ayuda con lo siguiente y de antemano gracias por la ayuda:

Inicio el programa con un formulario Splash donde el usuario debe poner
clave y nombre pero despues de 3 intentos incorrectos debe salir sin
iniciar el formulario principal que se llama MainForm lo tengo asi

en un MainClass.cs
inicio el Splash primero y despues el MainForm asi
SplashForm SplashFrm = new SplashForm();
SplashFrm.ShowDialog();

//Inicia el MDIForm
Application.Run(new MainForm());


en el SplashForm tengo que al 3 intento fallido cierre asi

Application.Exit();

pero el asunto es que si cierra el splash form pero sigue ejecutando el
MainForm aunque no permanece abierto ya que solo aparece por un momento
y sale.

el asunto es :
¿Como termino con todo y que no se continue ejecutando el codigo para
que no se ejecute el Application.Run(new MainForm());?


Gracias por las respuestas

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion [MVP]
26/10/2006 - 08:19 | Informe spam
"edcha" wrote in message
news:
SplashForm SplashFrm = new SplashForm();
SplashFrm.ShowDialog();
[...]
Application.Run(new MainForm());
[...]
¿Como termino con todo y que no se continue ejecutando el codigo para
que no se ejecute el Application.Run(new MainForm());?



Devuelve un valor desde el SplashFrm, y compruébalo con un "if" para no
llamar al Application.Run. Por ejemplo, puedes usar el DialogResult del
SplashFrm:

SplashForm SplashFrm = new SplashForm();
DialogResult resultado = SplashFrm.ShowDialog();
if (resultado==DialogResult.Ok)
{
Application.Run(new MainForm());
}

Lógicamente, dentro del SplashForm tendrás que poner
DialogResult=DialogResult.Ok o DialogResult=DialogResult.Cancel según
proceda antes de salir del form. Con eso, el Application.Exit ya no te hace
falta para nada.
Respuesta Responder a este mensaje
#2 Octavio Telis Aynés
26/10/2006 - 08:29 | Informe spam
Hola...

Ejecuta tu código dentro del static void Main()

puedes tener dos condiciones, evaluar por medio de propiedades definidas en
tu formulario, o bien por medio del DialoResult del mismo...

Esto sería más o menos así...

En tu formulario principal:

static void Main()
{
frmSplash frm = new frmSplash();
if (frmSplash != DialogResult.Cancel)
Application.Run(new frmPrincipal());
}

ahora bien... en tu frmSplash solo validas los intentos y asigna la
propiedad DialogResult del formulario a Cancel, de esta manera al cerrarse
el formulario con el método close, llevará ese resultado, será validado en
el void Main y dependiendo de eso permitirá la ejecución. Algo similar a lo
siguiente:

if(intentos == 3)
{
this.DialogResult = DialogResult.Cancel;
this.Close();
}
else
{
this.DialogResult = DialogResult.OK;
}

Con esto creo que podrías solucionar tu problema.

Espero sea de utilidad.

Saludos...

Octavio Telis
http://otelis.blogspot.com


"edcha" escribió en el mensaje
news:
Nesecito ayuda con lo siguiente y de antemano gracias por la ayuda:

Inicio el programa con un formulario Splash donde el usuario debe poner
clave y nombre pero despues de 3 intentos incorrectos debe salir sin
iniciar el formulario principal que se llama MainForm lo tengo asi

en un MainClass.cs
inicio el Splash primero y despues el MainForm asi
SplashForm SplashFrm = new SplashForm();
SplashFrm.ShowDialog();

//Inicia el MDIForm
Application.Run(new MainForm());


en el SplashForm tengo que al 3 intento fallido cierre asi

Application.Exit();

pero el asunto es que si cierra el splash form pero sigue ejecutando el
MainForm aunque no permanece abierto ya que solo aparece por un momento
y sale.

el asunto es :
¿Como termino con todo y que no se continue ejecutando el codigo para
que no se ejecute el Application.Run(new MainForm());?


Gracias por las respuestas
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida