读书人

怎么截取窗口的Close消息

发布时间: 2012-01-05 22:36:54 作者: rapoo

如何截取窗口的Close消息
我的代码如下
private void Form1_Load(object sender, EventArgs e)
{
this.Closing += new CancelEventHandler(Form1_Closing);
}
private void Form1_Closing(object sender, CancelEventArgs e)
{
DialogResult result;
result = MessageBox.Show( "退出? ", "提示 ", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (result == DialogResult.Yes)
Application.Exit();
}

问题是,当我点X后,选择否的时候也一样退出了,请问如何截获Close消息,由我自己去操作是否退出,就象VC中 OnClose() 一样的操作,谢谢先

[解决办法]
private void Form1_Closing(object sender, CancelEventArgs e)
{
DialogResult result;
result = MessageBox.Show( "退出? ", "提示 ", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (result != DialogResult.Yes)
e.Cancel=true;//这里不能直接退出,而要通过参数e.Cancle来控制
}
[解决办法]
二楼正解


if (result != DialogResult.Yes)
{
e.Cancel = true;
}
[解决办法]
e.Cancel = true; 截取 当前事件操作的值,取消当前操作,也就是,当你不想关闭的时候,把它加上

e.Cancel = false; 这个就是正常操作了
[解决办法]
private void Form1_Closing(object sender, CancelEventArgs e)
{
DialogResult result;
result = MessageBox.Show( "退出? ", "提示 ", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (result != DialogResult.Yes)
e.Cancel=true;//这里不能直接退出,而要通过参数e.Cancle来控制
}
正解

读书人网 >C#

热点推荐