2012-05-28 69 views
0

我有一個「主」形式(form1)。 在該表單中,我成功打開了另一個表單(form2) - 但是 - 當表單處於打開狀態時,仍然可以控制底層表單(form1)。如何在顯示彈出式窗體時禁用窗體?

我不希望用戶能夠這樣做,並且每當他嘗試點擊它或某物時,彈出窗體(form2)都應該獲得焦點/閃爍,並且有一些默認的Windows聲音。 我剛纔描述瞭如果彈出窗口是FileSave/OpenDialog,它是如何操作的。這些對話框完全按照我希望它們工作的方式工作。

我試過設置form2.Owner = form1;但這並沒有達到預期的效果。

所以我的問題基本上是:我怎麼能得到相同的效果焦點/等。在窗體上 - 它是如何在一個保存/ OpenDialog?

感謝,

〜Tgys

+0

你知道usercontrols嗎?他們從Form類中緩存,你可以將它們臨時放置在你的主窗體上,這樣你就不需要加載不同的Windows。 – Amicable

回答

4

要打開form2使用form2.ShowDialog()

form1

form2 form2Object = new form2(); 
form2.ShowDialog(this); 

這樣Form1中會留在後臺和未點擊,直到窗口2被顯示。如果需要,您也可以從form2返回對話框結果。來自MSDN的代碼。

Form2 testDialog = new Form2(); 

    // Show testDialog as a modal dialog and determine if DialogResult = OK. 
    if (testDialog.ShowDialog(this) == DialogResult.OK) 
    { 
     // Read the contents of testDialog's TextBox. 
     this.txtResult.Text = testDialog.TextBox1.Text; 
    } 
    else 
    { 
     this.txtResult.Text = "Cancelled"; 
    } 
+0

這是正確的答案。 – Eric

相關問題