我正在使用winforms + c#创建一个小项目,我有一个问题,因为我在项目中使用第二个窗体作为对话框。当用户尝试关闭此功能时,我想向他们提供确认屏幕,以防止在关闭表单时丢失任何数据。这个对话框窗体还将显示一个“主页”按钮,关闭对话框窗体,再次将它们与主窗口对齐。当在屏幕顶部按下Windows X按钮时,会出现问题,要求我设置“关闭窗体”事件进行管理。然而,这与我现在的代码如下所示创建一个无限循环。有什么办法可以避免这种情况?验证窗体关闭无限循环
private void frmCreateRoute_FormClosing(object sender, FormClosingEventArgs e)
{
DialogResult Safe_to_exit_check = MessageBox.Show("Are you sure you would like to go to the home screen? \n(Any entered data will be lost.)", "", MessageBoxButtons.YesNo);
if (Safe_to_exit_check == DialogResult.Yes)
{
this.Close();
}
}
和简单的:
private void Home_button_Click(object sender, EventArgs e)
{
this.Close();
}
的home键。
感谢
你需要设置'e.Cancel = TRUE;如果用户选择不同于任何东西是的 –