2014-10-10 45 views
0

用户单击网格中的一行。该行是一个包含表单名称的字符串。我检索字符串并想现在显示表单。这是我的代码。如何通过使用字符串作为窗体名称来显示窗体

string formToEdit = EditFormsGrid[EditFormsGrid.RowSel, 0].ToString(); 

     using (var form = ((Form)Activator.CreateInstance())) 
     { 
      if (form.ShowDialog() == DialogResult.OK) 
      { 
      } 
     } 

如何从一个字符串formToEdit得到能够打开它指的是

前形式。字符串=“BatchEditForm”

也有一个默认的构造函数被调用,如BatchEditForm()?

+0

可能重复[在Winform应用程序中打开窗体名称]窗体(http://stackoverflow.com/questions/15155024/open-form-with-form-名称在winform应用程序) – 2014-10-10 23:19:28

回答

0

使用Type.GetType()从字符串中获取Type,而不是使用GetConstructor获取所需的构造函数。 (您可以调用默认的构造函数或任何其他构造函数)

+0

我试过这个,我回来null var formType = Type.GetType(formToEdit); – 2014-10-10 23:28:56

+0

你应该在类型本身之前开始字符串,它属于它的名字空间 – ByoTic 2014-10-11 12:23:03

相关问题