1

新しい派生クラス フォームを作成するためのボタンを含むフォームがあります。このボタンのコールバックには、コードがあります

 AnotherFormClass newForm= new AnotherFormClass();
 newForm.Show();

ボタンをクリックしてこれを実行すると、画面上の元のフォームの前で newForm が一時的に点滅しますが、元のフォームが前面に戻ります。ブルートフォース TopMost() を使用して、 newForm を常に前面に配置することはしたくありません。さらに、なぜこの動作が見られるのかわかりません。誰か助けてくれませんか?ここで少し似た問題に言及している記事があるようです- 子フォームのメニューストリップがクリックされたときに親フォームが前面に表示されます が、これは.NET 4.5用であり、以前にも4.0でこの動作に遭遇しました。

ありがとう、クリス

4

2 に答える 2

2

「画面上で新しいフォームが一時的に元のフォームの前に表示されますが、その後元のフォームが前面に戻ってきます。」

サブフォームを常に前面に配置する必要がある場合

メソッドを使用Form.ShowDialog()すると、サブフォームを閉じるまで前面に保持されます。

あなたの場合

 var newForm= new AnotherFormClass();
 newForm.ShowDialog(this);

Form.ShowDialog メソッドの詳細を読む

于 2013-09-09T16:45:08.383 に答える