我设置主窗体为隐藏,子窗体关闭事件写入!
DialogResult result = MessageBox.Show("是否退出?","提示",
MessageBoxButtons.YesNo,MessageBoxIcon.Question);
if (result == DialogResult.Yes)
{
Application.Exit();
}
else
{
e.Cancel = true;
}
当关闭的时候
它会出现2次提示退出!
如何解决?
DialogResult result = MessageBox.Show("是否退出?","提示",
MessageBoxButtons.YesNo,MessageBoxIcon.Question);
if (result == DialogResult.Yes)
{
Application.Exit();
}
else
{
e.Cancel = true;
}
当关闭的时候
它会出现2次提示退出!
如何解决?
{
e.Cancel =false;
}
else
{
e.Cancel = true;
}
{
DialogResult result = MessageBox.Show("确定要退出吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (result == DialogResult.Yes)
{
Application.Exit();
}
}
就是弹出一次。
进行判断if语句的时候有出现一次,所以出现两次
{
if (MessageBox.Show("是否退出?", "提示",
MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
Application.Exit();
}
else
{
e.Cancel = true;
}
}之所以加上这个判断,是因为当我们点击关闭按钮时,e.CloseReason的值是CloseReason.UserClosing,可是当执行到Application.Exit();这句时,它又一次触发了这个事件,但是这次e.CloseReason的值是CloseReason.ApplicationExitCall。所以这里加个判断,以避免再次进入if语句里面。