¿Un posible BUG?

16/03/2006 - 13:05 por Vyacheslav Popov | Informe spam
Hola a todos.

Estaba desarrollando una aplicación cuando de repente. me paso algo
extraño.

Tengo un formulario base que heredan el resto de los formularios.
El formulario base implementa un acceso autenticado en su constructor.

public class BaseForm : Form
{
private static Usuario userInfo;

public BaseForm()
{
if (userInfo == null || !userInfo.IsValidate)
{
using (Login login = new Login())
{
login.ShowDialog();
userInfo = login.GetUsuario();
}
}
}
}

La clase Login se encarga de procesar datos proporcionados por el usuario.
Si el usuario pulsa el botón Cancelar, cierro la aplicación.


public class Login : Form
{
..
private void btCancel_click(object sender, EventArgs e)
{
Application.Exit();
}
..
}


Hasta aquí todo bien. ;)

Abro el formulario que hereda de la clase BaseForm y toma... me muestra el
Login pidiéndome la clave y la contraseña.
Como soy tan ignorante, pulso el botón para cancel y oala todo el IDE se
cierra.


Ahora bien, lo más gracioso es que al abrir el mismo proyecto me vuelve a
pedir la contraseña!

¿Que os parece?
 

Leer las respuestas

#1 Eduardo A. Morcillo [MS MVP VB]
16/03/2006 - 16:04 | Informe spam
El diseñador crea una instancia de la clase base para poder funcionar y por
lo tanto se ejecuta el codigo del constructor de esa clase base. Lo que
deberas hacer es mover ese codigo a algun otro lado y chequear si estas en
modo de diseño o no antes de ejecutarlo.

Eduardo A. Morcillo [MS MVP VB]
http://www.mvps.org/emorcillo
http://mvp.support.microsoft.com/pr...4EF5A4191C

Preguntas similares