我如何获得所有申请表格,实际上我不想要像以下那样打开表格
Application.OpenForms
但是,我需要在ComboBox中拥有所有表单名称!! !!
答案 0 :(得分:1)
以下是一些代码,用于枚举解决方案命名空间中所有类型(类)的列表,您应该可以从中过滤到表单列表:
using System.Reflection;
private Type[] GetTypesInNamespace(Assembly assembly, string nameSpace)
{
return assembly.GetTypes().Where(t => String.Equals(t.Namespace, nameSpace, StringComparison.Ordinal)).ToArray();
}
用法:
Type[] typelist = GetTypesInNamespace(Assembly.GetExecutingAssembly(), "YourNamespaceHere");
for (int i = 0; i < typelist.Length; i++)
{
if (typelist[i].IsSubclassOf(typeof(Form))) {
Console.WriteLine(typelist[i].Name); // Only forms will be written here
}
}
追踪typelist
数组。这将包含您所有解决方案的类型,您只需从中获取表单。