如何通过表单名称获取表单标题(表单文本)-winform C#
我有一个代码来获取项目中的所有表单名称如何通过表单名称获取表单标题(表单文本)-winform C#,c#,winforms,forms,devexpress,C#,Winforms,Forms,Devexpress,我有一个代码来获取项目中的所有表单名称 try { Assembly assemblies = Assembly.Load("ProjectMyNameSpace"); Type[] types = assemblies.GetTypes(); foreach (Type t in types) { if (t.BaseType == typeof(XtraForm) | t.BaseType == typeof(XtraUserControl))
try
{
Assembly assemblies = Assembly.Load("ProjectMyNameSpace");
Type[] types = assemblies.GetTypes();
foreach (Type t in types)
{
if (t.BaseType == typeof(XtraForm) | t.BaseType == typeof(XtraUserControl))
{
checklistBox.Items.Add(t.Name);
//<= t.Name like "frm_Login, frm_UserInfo...etc"
}
}
}
catch
{
}
试试看
{
Assembly=Assembly.Load(“ProjectMyNameSpace”);
类型[]类型=程序集。GetTypes();
foreach(类型中的类型t)
{
if(t.BaseType==typeof(XtraForm)| t.BaseType==typeof(XtraUserControl))
{
checklistBox.Items.Add(t.Name);
// 如果不创建此表单的新实例,则无法获取Text
属性值。您提供的代码段没有解释何时创建这些实例
如果您有一些表单列表(例如),则可以迭代这些表单,并在当前实例的名称或类型符合以下条件时返回文本属性值:
Form f = Application.OpenForms["formName"];
if (f != null) {
// do something with f.Text;
}
你真的想得到一个快速的答案吗?然后问一个清楚易懂的问题!@ChristianSt.Where uncless-readable?是不是XtraUserControl
a表单类型?@AlexJolig但它仍然有类似于标题的表单类型。@AlexJolig你能帮我吗?Application.OpenForms,没有应用程序。OpenedForms。这是工作,但不是所有表单都有。还有一些p问题!非常感谢!这只适用于打开的表单!:(@GinCanhViet谢谢,我已经用replacementOpenedForms->OpenForms
更正了我的答案。关于所有表单的问题-正如我已经提到的,在获取表单的文本之前,您应该获取表单的实例(实例而不是类型)。您还有其他解决方案吗?