如何获取VS2008 C#项目中的表单列表?

Mob*_*bin 7 c# winforms

我想得到一个项目中所有表单的列表,我正在运行一个表单.

假设我正在运行一个有4种形式的项目1.Form1 2.Form2 3.Form3 4.Form4

我想要检索它们的列表,以便进一步指示哪种形式

ang*_*son 11

你的意思是:

  1. 设计时?
  2. 运行?

如果是运行时,你的意思是:

  1. 项目中定义的所有表格?
  2. 所有开放表格

如果在设计时,我不知道.

如果您的意思是在运行时,并且您希望声明所有表单,则需要求助于反射.遍历程序集中的所有类型(/ ies)并查找从Form类继承的所有类型.

这样的事情会做:

Type formType = typeof(Form);
foreach (Type type in Assembly.GetExecutingAssembly().GetTypes())
   if (formType.IsAssignableFrom(type))
   {
       // type is a Form
   }
Run Code Online (Sandbox Code Playgroud)

如果您的意思是在运行时,并且您想要所有打开的表单,则可以使用Application.OpenForms.