2016-04-21 88 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

我也編輯了你的問題以從中刪除答案。這會讓未來的讀者感到困惑。 –