2016-04-21 91 views
0

我有一个按钮可以打开我主窗体中的另一个表单。 我的问题是,如果我再次点击相同的按钮,它再次打开另一个窗体。C#:重复打开表格

我想要的按钮,如果我再次点击不要打开另一个窗体,而是找到打开的窗体中心或原始的开始位置。未清除写入的文本。

回答

2

你可以看看在Application.OpenForms,并检查是否有你的第二个形式的打开实例,展示它,否则创建第二个表格的一个实例,并显示:

private void button1_Click(object sender, EventArgs e) 
{ 
    var f = Application.OpenForms.OfType<Form2>().FirstOrDefault(); 
    if (f == null) 
    { 
     f = new Form2(); 
     f.StartPosition = FormStartPosition.CenterScreen; 
     f.Show(); 
    } 
    f.Activate(); 
} 
+0

先生,我不能叫** CenterToScreen **功能 –

+0

@officepuppy更正,谢谢。这是一种受保护的方法,您不能将其用于其他表单,对于您当前的表单也不能使用它,如文档中所述。 –

+0

我也编辑了你的问题以从中删除答案。这会让未来的读者感到困惑。 –