2017-04-07 8 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

私はこれは、親が子を制御することができるが、第2の子は最初の子からのみ開くことができると思う。最初の子の親も新しい子の親であると言われます。それが意味をなさないならば。 –

関連する問題