日期:2014-05-20  浏览次数:20783 次

winform 中点击"X"弹出提示是否关闭的问题...........

我下面的代码中在弹出的提示窗口中点击是的话该窗口会再弹出一次.再点击一次才退出程序
好像是Application.Exit()这句代码又重新触发了事件.
如果不用这句代码的话则只能关闭本窗口,不能退出整个应用程序..
请问有什么好的解决办法???
C# code

//点击关闭
        private void FormMain_FormClosing(object sender, FormClosingEventArgs e)
        {
            DialogResult re = MessageBox.Show("确定要退出吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
            if (re == DialogResult.Yes)
            {
                e.Cancel = false;
                Application.Exit();
            }
            else
            {
                e.Cancel = true;
            }
        }




------解决方案--------------------
 
if (e.CloseReason != CloseReason.ApplicationExitCall)
{
DialogResult re = MessageBox.Show("确定要退出吗?", "提示", MessageBoxButtons.YesNo, MessageBoxIcon.Information);
if (re == DialogResult.Yes)
{
e.Cancel = false;

Application.Exit();
}
else
{
e.Cancel = true;
}
}
------解决方案--------------------
FormClosingEventArgs e

e啊,e!

e有个属性,关闭原因,cloaereson
是个枚举

判断一下,是用户关闭还是应用程序退出就行了
是UserClose,就出现你的提示逻辑,否则什么也不做