ホームページ >バックエンド開発 >C#.Net チュートリアル >C# の Show() と ShowDialog() の違い
WinForm での A.Form の表示
フォームを表示するには 2 つのメソッドがあります:
Form.ShowDialog メソッド (フォームはモーダル フォームとして表示されます)
Form.Show メソッド (フォームはモードレス フォームとして表示されます)
2 つの具体的な違いは次のとおりです。
1. Form.Show メソッドを呼び出した後、Show メソッドの背後にあるコードはすぐに実行されます。
2. Form.ShowDialog メソッドを呼び出した後、このメソッドの背後にあるコードは実行されません。ダイアログ ボックスが閉じるまで
ヒント:
1. モーダル表示後、ポップアップ ウィンドウは呼び出しウィンドウのすべてのメッセージ応答をブロックします。
通話ウィンドウは、ポップアップ ウィンドウが終了した後にのみ続行できます。
モーダル ウィンドウが「閉じられた」後、ウィンドウの戻りステータスやウィンドウのサブコントロールの値など、モーダル ウィンドウ内の情報を読み取ることができます。
MSDN の showdialog の説明:
フォームがモーダル ダイアログ ボックスとして表示されている場合、[閉じる] ボタン (フォームの右上隅にある X の付いたボタン) をクリックすると、フォームが非表示になり、 DialogResult プロパティを DialogResult に設定します。モードレス フォームとは異なり、.NET Framework は、ユーザーがダイアログ ボックスの [フォームを閉じる] ボタンをクリックしたとき、または DialogResult プロパティの値を設定したときに、Close メソッドを呼び出しません。その後、ダイアログ ボックスの新しいインスタンスを作成しなくても、フォームを非表示にして再表示できます。ダイアログ ボックスとして表示されるフォームは閉じられないため、アプリケーションでフォームが必要なくなった場合は、フォームの Dispose メソッドを呼び出す必要があります。
2. 非モーダル表示後、
はポップアップウィンドウと呼び出しウィンドウを自由に切り替えることができます。
呼び出しウィンドウで show メソッドを呼び出した後、次のコードをすぐに実行できます。
非モーダルウィンドウが閉じられると、ウィンドウのすべてのリソースが解放され、ウィンドウは存在せず、ウィンドウに関する情報も取得できなくなります。