当弹出窗体正在运行时,单击mainform上的按钮退出应用程序

时间:2015-09-21 09:42:43

标签: c#

Form2是用户确认窗口,我想通过mainform上的停止按钮关闭应用程序,但是当前form2处于活动状态,并且form2和mainform之间没有依赖关系。如何关闭应用程序?

4 个答案:

答案 0 :(得分:1)

您必须使用ShowDialog()方法打开Form2。而不是使用Show()方法和MainForm按钮的click事件调用Application.Exit()方法

答案 1 :(得分:0)

你可以使用......

// for WinForms application
if (System.Windows.Forms.Application.MessageLoop) 
{

    System.Windows.Forms.Application.Exit();
}

//用于控制台应用程序

System.Environment.Exit(1);

答案 2 :(得分:0)

所以你的问题是在模态窗口(确认对话框)完成之前父窗口没有焦点/输入。

因此,要避免这种情况,只需使用自定义窗口(而不是常用对话框/ msgbox)进行确认对话框并显示它。这样,如果用户想要点击你的主表单(确认将在背景上,由于这个原因在主窗口覆盖)。

答案 3 :(得分:0)

您似乎将对话框显示为ShowDialog()或显示内置MessageBox,这也是ShowDialog需要关闭以便焦点返回回到主窗口。所以你应该做的是创建一个自定义对话框并使用dialog.Show()方法。这将允许您在对话框打开时与主窗口进行交互,无论对话框是否打开,您都可以单击按钮关闭应用程序。以下代码应该为您完成结束工作

Application.Current.ShutDown();