[英]How do i close shut down my application from another Form?
我以新表格的形式进行了此活动:
private void CrawlLocaly_FormClosed(object sender, FormClosedEventArgs e)
{
}
我不确定是否要使用“关闭”或“关闭”。 原因是我想检查用户是否关闭了程序,例如仅通过从任务栏关闭应用程序。
如果他确实通过右键单击任务栏上的鼠标将其关闭,然后关闭,那么我希望它关闭所有程序,而不仅仅是此窗体。
我该怎么做 ?
Application.Exit();
将关闭您的应用程序。 我不太确定您是否可以通过rightmouse菜单检测到他是否将其关闭。 据我所知,您只能看到FormClosedEventArgs中提供的原因。 FormClosing将为您提供相同的原因。
使用此事件:
private void Form_FormClosing(object sender, FormClosingEventArgs e)
{
if(e.CloseReason == CloseReason.UserClosing)
{
//close forms
Application.Exit();
}
}
无法检查用户是否通过单击'X'或通过TaskBar
或其他任何方式关闭了您的表单,因为CloseReason
的结果始终为CloseReason.UserClosing
好吧,我也坚持这样的问题。 在我的应用程序中,我有2种形式,#1主菜单,#2-用于设置-如果用户关闭它,我想知道是否保存设置。 另外,如果设置为空-如果用户单击按钮保存,则不仅关闭应用程序窗体,而且-用户想关闭(隐藏)#2窗体。 所以我的解决方案在哪里,如果单击按钮保存,我们会将标签值设置为1,这样我们就知道“谁”试图关闭表单:预定义:
btnSave.Tag = 0;
在保存按钮上单击事件:
btnSave.Tag = 1;
this.Hide();
它会触发onclose事件:
private void frmLogin_FormClosing(object sender, FormClosingEventArgs e)
{
if (btnSave.Tag.ToString() == "0")
{
DialogResult dlg = MessageBox.Show("Do you want to exit without finished setup connection?", "Form", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
if (dlg == DialogResult.No)
{
e.Cancel = true;
}
else
{
e.Cancel = false;
this.Dispose();
Application.Exit();
}
}
else
{
this.Hide();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.