c# - Form.closed 事件未触发

标签 c# .net winforms events event-handling

每当我点击表单的红叉关闭按钮时,我想显示另一个表单,但是尽管关闭了事件处理程序,我还是无法打开另一个表单。

这就是我尝试打开另一个表单的方式:

private void Form1_Closed(object sender, System.EventArgs e)
{
     itemMaster.Show();

}

谁能告诉我如何启用我的要求?

最佳答案

首先,您应该使用 FormClosed事件而不是 Closed:

The Closed event is obsolete in the .NET Framework version 2.0; use the FormClosed event instead.MSDN page for the Form.Closed event

void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
    // ...
}

其次,确保您确实订阅了 Form1FormClosed 事件:

Form1.FormClosed += Form1_FormClosed;

Windows 窗体设计器应该在 InitializeComponent 的某处自动添加类似的行。如果不是,这就是您的处理程序方法未被调用的原因。

如果仍然没有帮助,请尝试处理 FormClosing FormClosed 的事件。

关于c# - Form.closed 事件未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4353102/

相关文章:

具有多种类型的 C# 泛型类型推断

c# - 如何使用 WinForms 绘制在面板中移动的球?

c# - 根据单词的一部分对数据进行排序

c# - 你怎么能加两个分数?

c# - 在多个局部 View 中拆分单个表单是否被认为是不好的做法?

c# - 自定义ActionResult中可以使用void async方法吗?

.net - 将接口(interface)数组从 .Net 编码到 C++ 时抛出 ExecutionEngineException

c# - 多线程更新主窗体

c# DateTime 添加不带扩展方法的属性

c# - 使用自定义绘图在按钮上绘制的 Winforms 标签