如何统计1个特定班级的所有开放形式?

时间:2013-11-18 13:36:24

标签: c# windows winforms winapi

我有一些派生自Form的表单类。我想要计算Form2等1个特殊类的所有开放表单实例。这是一个简单的WinForms应用程序(没有Mdi)。

  • Form1(主要)
  • Form2 (可以很多)
  • Form3(其他表格)

该应用无法多次启动。所以它只是在这个应用程序中计算窗口。

我的想法:

  • Application能给我一个打开的窗口列表吗?
  • WinApi,枚举1个应用程序的窗口?
  • 将每个新的Form2窗口放入一个列表中(我希望避免

1 个答案:

答案 0 :(得分:9)

使用Application.OpenForms属性,如:

int form2Count = Application.OpenForms.OfType<Form2>().Count();