C#.net中的封闭形式检测

时间:2010-11-24 09:21:54

标签: .net

我是.net的新手。我需要帮助。 我有2个表单,一个表单有逻辑,第二个表单有登录部分。我想先运行第二个(登录)表单。我是通过编写代码Application.Run(new Sign_in());在第一个表单构造函数中。我的第二个表单首先出现,但是当我在单击Closed图标(RED Cross图标)后关闭Login表单时,我的第一个逻辑数据表单正在加载。我不想加载我的第一个表单在任何条件下登录。 我该怎么办? 感谢

2 个答案:

答案 0 :(得分:2)

在表单的构造函数中运行表单通常会很糟糕。我会将这些分开,即在Main()方法

bool loggedIn = false;
using(var loginForm = new SignInForm()) {
    if(loginForm.ShowDialog() == DialogResult.OK) {
        loggedIn = true; // plus whatever else you need; maybe a "Principal"
    }
}
if(loggedIn) {
    using(var mainForm = new SomeOtherForm()) {
        Application.Run(mainForm);
    }
}

您还可以更改登录表单以正确设置DialogResult

答案 1 :(得分:0)

而不是致电LoginForm.Close(),请致电LogicForm.Show(),然后致电LoginForm.Hide()