public partial class Menu : Form
{
// this is my main form, What I really want
//is not re-enter my name and password
//when I call this form from another form button.
public Menu()
{
InitializeComponent();
{
}
unidadesToolStripMenuItem.Enabled = false;
materialesToolStripMenuItem.Enabled = false;
datosToolStripMenuItem.Enabled = false;
chequeoToolStripMenuItem.Enabled = false;
informeToolStripMenuItem.Enabled = false;
proyectoToolStripMenuItem.Enabled = false;
}
// public void MenuDatosComb();
// if()
public bool UsuarioLogueado = false;
private void Menu_Load(object sender, EventArgs e)
{
this.Hide();
Login login = new Login();
login.ShowDialog();
if (login.Logueado == true)
{
this.Show();
UsuarioLogueado = true;
toolStripStatusLabel2.Text = "Usuario: " + login.Resultado.Substring(20);
}
else
{
this.Close();
}
}
答案 0 :(得分:1)
尝试这种方法,不是最好的方法,但对你有用。
在登录表单中,添加一个像这样的静态属性
public static bool Logueado { get; private set; }
然后在登录表单中,当用户成功连接时,您设置Logueado = true;
现在,在您的主表单中,在加载事件中,您只需执行以下操作:
this.Hide();
if (Login.Logueado == true)
{
// show
}
else
// close
有了这个,您不需要在加载事件中创建新的登录表单,因此,您将不会再获得另一个登录表单。