如何通过表单名称获取表单标题(表单文本)-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谢谢,我已经用replacement
OpenedForms->OpenForms
更正了我的答案。关于所有表单的问题-正如我已经提到的,在获取表单的文本之前,您应该获取表单的实例(实例而不是类型)。您还有其他解决方案吗?