2014-10-10 80 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

相關問題