使用字符串激活表单(可变值)
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();
我将打开的表单的名称发送到表单加载中的 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();