我创建了一个处理我的应用程序登录的表单,如果关闭登录表单而不登录(例如Alt-F4-ing),我试图使应用程序退出。为此,当没有返回Close()
时,我会在主窗体上调用DialogResult.OK
,但会得到Main
在Application.Run
中引发的异常。
这是我正在研究的项目。尝试搜索答案,并发现了一些在主表单中呼叫Application.Exit()
的说法,但这只是使我的表单重新出现。
主窗体的构造函数:
public Menu()
{
InitializeComponent();
Form login = new Login_Forms.Login();
Hide();
if (login.ShowDialog(this) != DialogResult.OK)
Close();
else
Show();
}
Main():
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Menu()); // This line throws System.ObjectDisposedException
}
程序本身可以工作,但是这里抛出的异常使我发疯。我正在寻找一种正确关闭主窗体的方法,以便不会在Main中引发异常。