Form.closed事件未触发

Jac*_*son 2 .net c# events event-handling winforms

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

这就是我试图打开另一种形式的方式:

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

}
Run Code Online (Sandbox Code Playgroud)

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

sta*_*ica 5

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

Closed事件在.NET Framework 2.0版中已过时; FormClosed而是使用事件.- 对MSDN页面Form.Closed事件

void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
    // ...
}
Run Code Online (Sandbox Code Playgroud)

其次,确保你实际上已经订阅Form1FormClosed事件:

Form1.FormClosed += Form1_FormClosed;
Run Code Online (Sandbox Code Playgroud)

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

如果这仍然没有帮助,请尝试处理FormClosing事件的内容FormClosed.