winform 点击窗体右上角“X”关闭窗体但不释放资源并跳到上一个界面
时间: 2023-07-31 15:09:33 浏览: 96
实现这个功能,你需要在窗体的 FormClosing 事件中添加代码,如下所示:
```csharp
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
e.Cancel = true; // 取消关闭操作
this.Hide(); // 隐藏窗体
// 在这里执行释放资源的操作
// ...
// 返回上一个界面
Form2 form2 = new Form2();
form2.Show();
}
```
上述代码中,`e.Cancel = true;` 取消了关闭操作,`this.Hide();` 隐藏了当前窗体。你需要在这个事件中添加释放资源的代码,并且在最后显示上一个界面的窗体。这里假设上一个界面是 `Form2`,并且已经创建了一个 `Form2` 的实例并显示出来了。
相关问题
winform右上角窗体的×事件
WinForm中,右上角窗体的×事件是窗体的关闭事件。当用户点击窗体右上角的关闭按钮(×按钮)时,会触发窗体的Closing事件和Closed事件。
在WinForm中,可以通过以下步骤来处理窗体的关闭事件:
1. 在设计视图中,双击窗体的右上角关闭按钮,或者在属性窗口中找到FormBorderStyle属性,将其设置为FixedDialog或Sizable。
2. 在代码视图中,找到窗体的Closing事件和Closed事件,并添加相应的处理代码。
例如,下面是一个处理窗体关闭事件的示例代码:
```csharp
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
// 在窗体关闭之前执行的代码
// 可以在这里进行一些清理操作或者保存数据
// 如果你想阻止窗体关闭,可以设置e.Cancel为true
//e.Cancel = true;
}
private void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
// 窗体关闭后执行的代码
// 可以在这里进行一些资源释放操作或者其他处理
}
```
在上面的示例代码中,FormClosing事件在窗体关闭之前触发,你可以在其中添加一些必要的清理操作。如果你想阻止窗体关闭,可以将e.Cancel设置为true。FormClosed事件在窗体关闭后触发,你可以在其中进行一些资源释放操作或其他处理。
希望对你有所帮助!如果还有其他问题,请随时提问。
阅读全文