日期:2014-05-17  浏览次数:20776 次

关闭一个窗口时,打开另外一个窗口。按第一个窗口红叉不打开另外的窗口
做一个登陆界面,我想要登陆成功的话关闭登陆界面跳出另外一个界面。我在program.cs中建了两个父窗口
            Form1 f1 = new Form1();//新建第一个父窗口窗口
            Application.Run(f1);//运行第一个父窗口
            
            Main ma = new Main();//新建第二个父窗口
            Application.Run(ma);//声明第二个父窗口
但是我发现,我在登陆界面直接按右上角的红叉,也像登陆成功一样打开了第二个界面,这个该怎么解决?
c# 窗口

------解决方案--------------------
首先你要验证成功登录,才会执行关闭窗体时打开新窗体。如果没有进行登录成功,就只是单纯的关闭窗体。
------解决方案--------------------
两个Application.Run必然打开两个,你可以根据第一个打开后,通过一个条件(比如变量)去控制是否打开第二个窗口
------解决方案--------------------

登录 reg = new 登录();
reg.ShowDialog();
if (Globals.loginState.AdminID != 0)//这里判断是否登录成功
{
      reg.Dispose();
      Application.Run(new 主窗体());
}
else
{
    reg.Dispose();
    Application.Exit();
}
}

------解决方案--------------------
如果是关闭红X也能打开第二个窗口,可以考虑Formclossing事件了
------解决方案--------------------
引用:
Quote: 引用:

楼主是刚接触编程吧。你这没有判断 当然第一个一关第二个就被打开了。

对的~刚学不久。 你觉得该如何判断?求教~


public static bool isLoginSucess=false;

if (textBox1.Text != "user" 
------解决方案--------------------
 textBox2.Text != "1234")
            {
                MessageBox.Show("输入的用户名或者密码错误!");
            }
            else
            {
                isLoginSucess=true
            }

然后
reg.ShowDialog();
if (登录窗体.isLoginSucess==true)//这里判断是否登录成功
{
      reg.Dispose();
      Application.Run(new 主窗体());
}
else
{
    reg.D