2012-03-12 1 views
2

私はメインフォームと他のフォームを持っています。 メインフォームは常に開いており、しばらくすると他のフォームが起動します。フォームを一番上に置き、他のフォームを無効にする

私が試した:

form.TopMost = true; 

をしかし、これは上にフォームを配置します。 Form behind(メインフォーム)は依然としてアクセス可能です。

OpenFileDialogを実行したときと同じような動作をさせ、その背後にあるメインフォームを無効にするにはどうすればよいですか?

(事前のおかげで)

答えて

5

あなたはmake your form modalする必要があります。これを行うには、Showの代わりにShowDialogを使用して表示します(ダイアログと同じ方法)。

また、ShowDialogで示されたフォームは、閉じるボタンをクリックしたときに実際には閉じられたり破棄されたりしないので、手動で処理する必要があります。その生涯を処理するための通常の方法はusing構文を使用することです:

using (var form = new SomeForm()) 
{ 
    form.ShowDialog(); 
    // do stuff after the dialog is closed 
} 
+0

私はそれを完全に忘れています。おかげさまで –

0

form.showdialogを();ここでフォームは打ち上げられるトップフォームです。トップフォームを載せている間にform.showdialog()を追加してください。

関連する問題