モーダル ダイアログにメッセージ ボックスを表示した後、ALT + TAB が機能しない...
1 つのソリューション ファイルの下に 3 つのプロジェクト (P1、P2、および P3) があります。P1 には P1Form.cs が含まれ、P2 には P2Form.cs が含まれます。
これらのファイルの詳細は次のとおりです。
P1Form.cs には、MessageBox.Show()
メソッドからのメッセージ ボックスを表示する 1 つのボタンが含まれています。P2Form.cs には、MessageBox.Show()
メソッドからのメッセージ ボックスを表示する 1 つのボタンが含まれています。
プロジェクト P3 には、Form_A、Form_B、および Form_C の 3 つのフォームが含まれています。Form_A は MDI コンテナーであり、Form_B を子フォームとして開くボタンが 1 つあります。Form_B には、ShowDialog() メソッドからモーダル ダイアログとして Form_C を開くボタンも 1 つあります。
Form_C は P2Form.cs から継承され、P2Form.cs は P1Form.cs から継承されます。 Form_A.cs は、アプリケーションの最初のフォームとなるメイン フォームです。
必要な問題を再現する手順:
- MDI コンテナである Form_A を開きます
- Form_Bを開くボタンをクリックします
- Form_B のボタンをもう一度クリックすると、2 つのボタンを持つ Form_C が開きます (両方のボタンは基本クラス P1Form.cs と P2Form.cs からのものです)。
- メッセージ ボックスを開く Form_C のいずれかのボタンをクリックします。
問題: Alt + Tab でウィンドウを切り替えます。ウィンドウを切り替えると、現在のウィンドウのアイコンが表示されなくなります。
私が試した代替オプション...
Form.show()
の代わりに使用するとForm.ShowDialog
、正常に動作します。- 基本クラスではなく、現在のクラスですべての messageBox コーディングを記述すると、正常に動作します。
すでに試した上記の両方の代替手段を実行せずに、この問題を解決するにはどうすればよいか、誰かが私に提案できますか?