窗体关闭时弹出的提示怎么会出现两次?
private void frmAdmin_FormClosing(object sender, FormClosingEventArgs e)
{
DialogResult objDialogResult = MessageBox.Show( "此操作将关闭窗体,是否继续? ", "提示 ", MessageBoxButtons.YesNo);
if (objDialogResult.Equals(DialogResult.Yes))
{
Application.Exit();
}
else {
e.Cancel = true;
}
}
点击右上角的关闭按钮后,弹出一个对话框,我选择"是"的话,它还会弹出一个一样的对话框,选择"否"的话,就没有问题了.
要怎样才能选择"是"以后就不再弹出对话框了呢?
------解决方案--------------------建議單步跟蹤程序,查看程序執行情況,從而解決問題!
------解决方案--------------------简单点的改法,这样就可以了
private void frmAdmin_FormClosing(object sender, FormClosingEventArgs e)
{
DialogResult objDialogResult = MessageBox.Show( "此操作将关闭窗体,是否继续? ", "提示 ", MessageBoxButtons.YesNo);
if (objDialogResult.Equals(DialogResult.No))
{
e.Cancel = true;
}
}
按你原来的写法修改,把
if (objDialogResult.Equals(DialogResult.Yes))
{
Application.Exit();
}
这里的Application.Exit();去掉即可
if (objDialogResult.Equals(DialogResult.Yes))
{
}
------解决方案--------------------试试:
private void frmAdmin_FormClosing(object sender, FormClosingEventArgs e)
{
if (MessageBox.Show( "此操作将关闭窗体,是否继续? ", "提示 ", MessageBoxButtons.YesNo).Equals(DialogResult.Yes))
{
Application.Exit();
}
else {
e.Cancel = true;
}
}
------解决方案--------------------private void frmAdmin_FormClosing(object sender, FormClosingEventArgs e)
{
DialogResult objDialogResult = MessageBox.Show( "此操作将关闭窗体,是否继续? ", "提示 ", MessageBoxButtons.YesNo);
if (!objDialogResult.Equals(DialogResult.Yes))
{
e.Cancel = true;
}
}
------解决方案--------------------Application.Exit();它又执行了关闭窗体的事件.你应该把这个写在private void frmAdmin_FormClosed事件中