gpt4 book ai didi

c# - 有没有办法在应用程序中自动捕获 C# 中的所有 FormClosed 事件?

转载 作者:行者123 更新时间:2023-11-30 22:48:50 24 4
gpt4 key购买 nike

我想集中所有 FormClosed 事件的代码处理程序,有没有办法让所有正在关闭的表单自动收到通知?

最佳答案

子类 Form 并在构造函数中将一些函数连接到自身的 FormClosed 事件?类似于以下内容:

public class MyForm : Form
{
public MyForm(FormClosedEventHandler handler) : base()
{
this.FormClosed += handler;
}
}

然后只需使用 MyForm 而不是 Form 作为所有表单的基类。

编辑:如果您在某个地方有一些静态函数,您想将其用作所有 FormClosed 事件的处理程序,那么您当然可以使用:

    public MyForm() : base()
{
this.FormClosed += Program.MyFormClosedHandler;
}

但这有点糟糕(难以测试,请参阅依赖注入(inject)),无论如何您都可以使用构造函数链来实现相同的目的。

关于c# - 有没有办法在应用程序中自动捕获 C# 中的所有 FormClosed 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1442332/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com