是否有某种静态类在WinForms中包含我的应用程序的窗口信息?

时间:2010-12-24 05:08:46

标签: c# .net winforms forms

在winforms应用程序中是否有一种简单的方法可以访问打开的表单集合,哪些表单位于顶部,打开它们的顺序等等?

我想把它变成一个静态类,所以我可以在代码中的任何地方调用它,而不必传递对象。

否则,我必须自己创建“窗口管理器”。

1 个答案:

答案 0 :(得分:1)

您可以使用 Application.OpenForms property 获取包含应用程序中当前打开的所有表单的集合。这确实是一个静态属性,所以它可以在任何地方使用。

但是,我不确定这符合您指示表单打开顺序的要求。您将不得不自己跟踪这些信息。

请注意,OpenForms返回的集合也不会跟踪每个表单打开的线程。如果您想访问表单成员,请先检查其InvokeRequired property,以防止收到InvalidOperationException例外。