当前位置: 首页 > 编程语言 > C#

Winforms:有没有办法在我的应用程序中打开表单时收到通知?

时间:2023-04-10 11:38:04 C#

Winforms:有没有办法在我的应用程序中打开表单时收到通知?我的主窗体上有一个“切换到窗口”按钮,我只想在其他窗口(在我的应用程序中)打开时启用它。每当打开或关闭窗体时,我的主窗体是否可以挂钩某种事件?(例如,也许可以通过某种方式跟踪Application.OpenForms何时更改?)(我知道如果此功能在菜单项中,我可以在单击菜单时执行Application.OpenForms检查,但此按钮不在菜单。)您可以使用MessageFilter并监视WM_SHOWWINDOW和WM_CLOSE消息。您可以定义自己的类型FooForm,它继承自Form。在FooForm的构造函数中,触发一个静态定义的FormOpened事件。然后所有表单都将具有基本类型FooForm而不是Form。每次打开表单时都会触发此事件。我最终构建了一个窗口管理器类,它在创建新窗体时将自身添加到窗口管理器的集合中。您可以将此功能包装在基Form类中,这样您就不必记住这样做。然后您可以在您的窗口管理器类中创建事件来通知您这些事情。您还可以在管理器类中查询windows集合。然后,我使用此类将构建打开窗口菜单的功能合并到一个实用程序类中。以上是C#学习教程:Winforms:Isthereawaytobenotifiedwhenaformisopenedinmyapplication?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: