gpt4 book ai didi

c# - 如何在 C#.NET 中关闭整个应用程序后结束进程?

转载 作者:行者123 更新时间:2023-11-30 19:22:09 25 4
gpt4 key购买 nike

我有一个 .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();

globalData 是我的静态类,我在其中创建整个应用程序所需的全局对象。在那里,我定义了我的 MDI 表单的 ObjMdiMain 对象,我在登录表单中访问它。

那么,有没有什么方法或函数可以从系统结束整个过程,比如“Application.End();”还是别的?

谢谢!

最佳答案

根据您的描述(如果我错了请纠正我),我假设您已将登录表单设置为您的启动表单,如下所示:

    static void Main() {
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new LoginForm());
}

不要那样做。将其更改为类似这样的内容:

    static void Main() {

Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);

LoginForm frm = new LoginForm();
if(frm.ShowDialog() == DialogResult.Cancel) {
return;
}

Application.Run(new MdiForm());
}

在您的登录表单代码中,根本不要调用 MDI 表单,只需验证用户名和密码并允许登录表单退出。 Main 方法将正确调用 MDI 窗体。

当您关闭 MDI 窗体时,您的应用程序将自然退出。

关于c# - 如何在 C#.NET 中关闭整个应用程序后结束进程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1623695/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com