如何在C# Windows Forms项目中设置应用程序关闭模式?

8

我刚从VB.Net转换到C#并正在编写一个Windows应用程序。 在VB.net中,您可以通过选择项目的属性并移动到下拉菜单来轻松更改关闭模式,在“启动窗体关闭时”和“最后一个窗体关闭时”之间进行选择。请帮助我找到C#中的等效方法。

顺便说一句,我正在使用VS 2010。

2个回答

8

在C#中,实现这个最简单的方法是在“program.cs”文件中更改应用程序的入口点。此入口表单应在启动时隐藏,但会调用主表单。然后在任何其他窗体/类的关闭过程中调用Application.Exit()函数。

以下是示例伪代码:

program.cs

//edit this line
Applcation.Run(startupForm);

StratupForm.cs

//startup method
StartupForm_load (object e)
{
this.Hide();
MainForm mainForm = new MainForm();
mainForm.show();
}

MainForm.cs

 //application exit method
    MainFormExit_close (object e)
    {
     Application.Exit();
    }

你的程序后面可能需要实现更整洁的方式来管理和跟踪打开的表单。

你提出的“解决方案”本质上就是一个内存泄漏。你不能有意地、明知地留下一个窗体及其所有内容作为“技巧”。你用一个新问题解决了某个人的问题。这不是一个应该在 SO 上获得批准的解决方案。 - Chase

4
这里提供一份示例代码,可以在最后一个窗体关闭时退出应用程序。虽然可能不是你首先想到的方法,但如果你查看Application.Run(ApplicationContext)文档,就会找到这方面的样例代码。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接