2010-11-24 76 views
1

我是.net.I中的新成员,需要帮助。 我有2个窗体一个窗体有逻辑,第二个窗体有登录section.I想先运行第二个(登录)窗体。我通过编写代码Application.Run(new Sign_in())来做到这一点;在第一种形式的构造函数。而我的第二种形式是首先出现,但当我点击闭图标(红十字图标)后,我刚刚关闭登录表单我的第一个逻辑数据表单正在load.I不想加载我的第一个表单在任何条件下登录。 我该怎么办? 谢谢C#中的封闭式检测.net

回答

0

代替拨打LoginForm.Close(),请致电LogicForm.Show(),然后LoginForm.Hide()

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