在VS2008里面的
private void Form2_FormClosing(object sender, FormClosingEventArgs e)
{
DialogResult DR=MessageBox.Show("确定退出个人通讯录", "系统提示", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (DR == DialogResult.Yes)
{
Application.Exit();
}
if(DR==DialogResult.No)
{
e.Cancel = true;//取消动作
}
}
在VS2008里面它会执行两次弹出对话框的操作。
用F11键进行跟踪后,发现原来是Application.Exit();事件在作怪。在执行到它的时候,它会再次执行MainForm_Closing整个事件。所以弹出两次对话框。
因为时间的关系。没有去研究Application.Exit事件里面的情况。所以就找了一个简单的方法。为此,对代码进行修改,把Application.Exit();改为Application.ExitThread();就可以了。