如何截取窗口的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来控制
}
正解