使用十字按钮关闭表单

时间:2014-12-15 15:56:20

标签: c# forms

我正在开发一个C#项目。我需要做以下事情,但我并没有真正的经验,我无法在互联网上找到它。

我想在用户点击十字按钮时执行操作(关闭一个表单)。我的意思是,如果用户点击表单右上角的“X”按钮,我想使用删除一个文件的方法。

我只想知道用户注意到用户点击了“X”(关闭)按钮的代码。我希望你们理解我的问题。非常感谢你!!

2 个答案:

答案 0 :(得分:2)

我不认为在关闭表单时删除某些内容非常友好(特别是因为“' X'按钮被所有使用计算机的人理解为关闭按钮”) ,但您可以覆盖窗体的OnFormClosing方法。像这样:

// this will also close the form
protected override void OnFormClosing(FormClosingEventArgs e)
{
   base.OnFormClosing(e);

   if (e.CloseReason == CloseReason.WindowsShutDown) return;

   // Do some stuff here (delete the file or whatever)
 }

如果你想改变行为如此糟糕以至于表格在按下' X'时就不会关闭,你可以这样做

 protected override void OnFormClosing(FormClosingEventArgs e)
 {
     e.Cancel = true;

     // some stuff here...
 }

这是非常讨厌的IMO

答案 1 :(得分:1)

您必须处理FormClosing事件:

  

FormClosing事件在表单关闭时发生。当一个表格   关闭,处置,释放与之相关的所有资源   形成。如果您取消此活动,表单将保持打开状态。要取消   关闭窗体,设置FormClosingEventArgs的Cancel属性   传递给您的事件处理程序为true。