Pra*_*ant 2 .net c# desktop-application visual-studio-2005
我有一个.NET 2005(C#)桌面应用程序,其中有一个登录表单和一个MDI表单,然后有多个子表单.所有其他表单仅以MDI格式打开.
用户登录后,我隐藏登录表单然后显示MDI表单,但是当我关闭MDI表单时,我的应用程序进程没有结束,因为登录表单仍然是隐藏的.我想要的是,当用户关闭MDI表单时,整个应用程序应该关闭(实质上,该进程不应该显示在任务管理器中),因为如果每次用户关闭并重新打开应用程序并登录时,它都会创建一些性能问题.
我正在做类似下面的事情:
//my login validation script,
//after successful login
this.Hide();
if (globalData.ObjMdiMain.IsDisposed)
{
globalData.ObjMdiMain = new mdiMain();
}
globalData.ObjMdiMain.Show();
Run Code Online (Sandbox Code Playgroud)
globalData是我的静态类,我在其中创建整个应用程序所需的全局对象.在那里,我已经定义了ObjMdiMain我的MDI表单的对象,我在登录表单中访问它.
那么,是否有任何方法或功能将从系统结束整个过程,如"Application.End();" 或者是其他东西?
谢谢!
我假设您的描述(如果我错了请纠正我),您将登录表单设置为启动表单,如下所示:
static void Main() {
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new LoginForm());
}
Run Code Online (Sandbox Code Playgroud)
不要那样做.改为将其改为:
static void Main() {
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
LoginForm frm = new LoginForm();
if(frm.ShowDialog() == DialogResult.Cancel) {
return;
}
Application.Run(new MdiForm());
}
Run Code Online (Sandbox Code Playgroud)
在您的登录表单代码中,根本不要调用MDI表单,只需验证用户名和密码并允许登录表单退出.Main然后,该方法将正确调用MDI表单.
关闭MDI表单后,您的应用程序将自然退出.
| 归档时间: |
|
| 查看次数: |
5668 次 |
| 最近记录: |