使用字符串激活表单(可变值)

Activating form with string (Changeable values)

我将打开的表单的名称发送到表单加载中的 datagridview。然后,当我双击这个 datagridview 的行时,我想再次激活表单。但是我不能使用这种方法。你喜欢什么?

`  private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
    {
        int i = dataGridView1.CurrentRow.Index;
        string fname = dataGridView1.Rows[i].Cells[1].Value.ToString();
        var type = Type.GetType("ProMod." + fname);
        var openthisform = Activator.CreateInstance(type) as Form;
        Application.OpenForms.OfType<Form>().First(f => f is openthisform).Activate();
    }`

如果您已经打开表单并知道它的名称,那么您只需使用名称字符串

从Application.OpenForms 中检索它
var form = Application.OpenForms.OfType<Form>().FirstOrDefault(x => x.Name == fname);
if(form != null) form.Activate();