我正在尝试迭代我的解决方案中的所有程序集,获取所有表单并检索每个表单的text属性,但我真的不知道如何获取值。这是我的代码:
Type formType = typeof(Form);
var assemblies =
AppDomain.CurrentDomain.GetAssemblies();
foreach (var assembly in assemblies)
{
var types = assembly.GetTypes();
foreach (var type in types)
{
if (formType.IsAssignableFrom(type))
{
var properties = type.GetProperties().Where(x => x.Name == "Text");
}
}
}
我无法检索表单文本属性的具体值。我也 试过
var property = type.GetProperty("Text").GetValue(???, null);
但不知道如何获得当前的课程。有任何想法吗?谢谢!
编辑:我也试过var frm = (Form)Activator.CreateInstance(type)
但如果表单没有无参数构造函数,则会失败。
答案 0 :(得分:0)
您可以尝试迭代Application.OpenForms
集合。这将为您提供应用程序拥有的所有已打开的表单。
MSDN
答案 1 :(得分:0)
如果您只需要参考开放表单,则可以使用Application.OpenForms
否则,您需要有一些所有表单引用的列表。