关闭表单前显示消息

时间:2014-09-09 09:41:39

标签: c# winforms

我有这个窗口表格,我需要的是当我在窗口中按[x]关闭表单时,我需要显示一条消息。

这不起作用: 知道为什么吗?

private void ControlCom_Closing(object sender, FormClosingEventArgs e)
{ 
        MessageBox.Show("test");    
}

我只需要在按钮x上单击即可显示消息。但这不会显示消息框。

我在那里添加其他任何东西?我读到有一个关闭的原因,但mybe事实并非如此。

3 个答案:

答案 0 :(得分:3)

顺便说一下Closing事件已经过时,它的日期是.NET 1.x.它在.NET 2.0中被FormClosing事件替换。

更好的尝试: -

private void ControlCom_FormClosing(object sender, FormClosingEventArgs e)
{
    MessageBox.Show("test");    
}

更多详情: -

http://msdn.microsoft.com/en-us/library/system.windows.forms.form.formclosing(v=vs.110).aspx

答案 1 :(得分:2)

private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
    if (MessageBox.Show("Are you sure about closing the form?", "", MessageBoxButtons.YesNo) == DialogResult.No)
        e.Cancel = true;
}

答案 2 :(得分:1)

典型的方案可能是

private void Form1_FormClosing(object sender, FormClosingEventArgs e) {
  // If user (not system!) wants to close the form
  // but (s)he answered "no", do not close the form
  if (e.CloseReason == CloseReason.UserClosing)
    e.Cancel = MessageBox.Show(@"Do you really want to close the form?", 
                               Application.ProductName, 
                               MessageBoxButtons.YesNo) == DialogResult.No;
}