如何使用字符串作为表单名称来显示表单
本文关键字:表单 显示 何使用 字符串 | 更新日期: 2023-09-27 18:26:10
用户单击网格中的一行。行是一个包含表单名称的字符串。我检索该字符串,现在想显示表单。这是我的代码。
string formToEdit = EditFormsGrid[EditFormsGrid.RowSel, 0].ToString();
using (var form = ((Form)Activator.CreateInstance()))
{
if (form.ShowDialog() == DialogResult.OK)
{
}
}
我如何从字符串表单编辑到能够打开它引用的表单
前任。字符串="BatchEditForm"
是否还会调用默认构造函数,如BatchEditForm()?
使用Type.GetType()从字符串中获取Type,而不是使用GetConstructor获取所需的构造函数。(您可以调用默认构造函数或任何其他构造函数)
我知道这是一个老问题,但没有公认的答案,我会发布我自己的:
这就是你所需要的;
var form_to_open = (Form)Activator.CreateInstance(Type.GetType("YourNameSpace.YourFormName"));
form_to_open.Show();
不要忘记,您需要将YourNameSpace
替换为项目的实际命名空间,将YourFormName
替换为表单的名称(字符串格式)。