2014-10-06 35 views
-4

我有一个代码来获取我的项目中的所有表单名称。如何通过表单名称获取表单标题(表单文本) - Winform C#

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 
{ 
} 

但现在,我想通过表单名称获取Form.Text。 我该怎么做?

http://i.stack.imgur.com/WwNdY.png

+1

你真的想要得到一个快速回答?然后问清楚可以理解的问题! – 2014-10-06 08:52:37

+0

@ ChristianSt.Where不清楚可以理解吗? – GinCanhViet 2014-10-06 08:54:18

+0

XtraUserControl是一种表单类型吗? – 2014-10-06 09:14:53

回答

0

你不能没有产生这种形式的一个新实例获得Text属性值。您提供的代码片段不会解释何时会创建这些实例。

如果你有形式(例如Application.OpenForms)的一些列表,你可以重复这些形式并返回Text属性值时的名称或当前实例的类型相匹配的条件:

Form f = Application.OpenForms["formName"]; 
if (f != null) { 
    // do something with f.Text; 
} 
+0

Application.OpenForms,没有Application.OpenedForms。 – GinCanhViet 2014-10-06 09:52:40

+0

这是工作,但不是所有的形式。还有一些问题!非常感谢! – GinCanhViet 2014-10-06 09:53:53

+0

这只是与表格打开工作! :( – GinCanhViet 2014-10-06 10:02:21