2017-04-07 137 views
0

所以標題說這一切有點。我有一個MDI父項,它打開了一個讓我查看數據網格的子項,但此子項允許我選擇一行並從父項中打開一個不同的子項,以允許我編輯數據行。我如何禁用以前的孩子,直到當前的孩子關閉。有點像ShowDialog()但兒童形式?C#如何禁用一個不同的子窗體打開的MDI父窗體的子窗體

任何幫助將是偉大的:)

+0

我認爲你使用WinForms? –

+0

ShowDialog仍然可以工作,只要確保將創建表單傳遞給新的子窗口,即'yourform.ShowDialog(this);' –

+0

ShowDialog有什麼問題?爲什麼它必須是MDI窗口?特別是因爲你不能對其他MDI窗口做任何事情? –

回答

1

禁用窗體當您打開新的,對孩子的形式

無論您正在打開的子窗體形式封閉事件重新啓用:...

{ 
    ChildForm f = new ChildForm(); 
    f.FormClosed += F_FormClosed; 
    f.Show(); 
    this.Enabled = false; 
} 

private void F_FormClosed(object sender, FormClosedEventArgs e) 
{ 
    this.Enabled = true; 
} 
+0

這很容易投入到我目前的代碼,並做我需要感謝:) –

0

這個怎麼樣?

this.MdiParent.MdiChildren[0].Enabled = false; 
+0

我認爲這將工作,如果父母可以控制孩子,但第二個孩子只從第一個孩子開放。然後被告知第一個孩子的父母也是新孩子的父母。如果這是有道理的。 –

相關問題