0

我将打开表单的名称发送到表单加载中的 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();
    }`
4

1 回答 1

0

如果您已经打开了表单并且知道它的名称,那么您只需要使用名称字符串从 Application.OpenForms 中检索它

var form = Application.OpenForms.OfType<Form>().FirstOrDefault(x => x.Name == fname);
if(form != null) form.Activate();
于 2020-11-08T09:54:32.450 回答