ウィンドウまたはダイアログ ボックスを開く方法 (WPF .NET)

Windows Presentation Foundation (WPF) で、独自のウィンドウを作成して表示することができます。 この記事では、モーダルおよびモードレス ウィンドウとダイアログを表示する方法について説明します。

概念的には、ウィンドウとダイアログ ボックスは同じで、情報や対話を提供するためにユーザーに表示されるものです。 どちらも "ウィンドウ" オブジェクトです。 ウィンドウのデザインと使用方法を決めて、ダイアログ ボックスを作成します。 通常、ダイアログ ボックスはサイズが小さく、ユーザーの応答を必要とします。 詳細については、「WPF ウィンドウの概要」と「ダイアログ ボックスの概要」を参照してください。

オペレーティング システムのダイアログ ボックスを開く方法に関心がある場合は、「コモン ダイアログ ボックスを開く方法」を参照してください。

モーダルとして開く

モーダル ウィンドウが開いている場合、それは通常、ダイアログ ボックスを意味します。 WPF によって、対話がそのモーダル ウィンドウに制限され、ウィンドウを開いたコードが、ウィンドウが閉じるまで一時停止します。 このしくみを利用することで、ユーザーにデータを要求して、その応答を待機する処理を簡単に行うことができます。

ShowDialog メソッドを使用して、ウィンドウを開きます。 次のコードでは、ウィンドウのインスタンスを作成し、モーダルとして開きます。 ウィンドウを開いたコードが一時停止し、ウィンドウが閉じられるまで待機します。

var window = new Margins();

window.Owner = this;
window.ShowDialog();
Dim myWindow As New Margins()

myWindow.Owner = Me
myWindow.ShowDialog()

重要

ウィンドウが閉じられると、同じオブジェクト インスタンスを使用してそのウィンドウ再度開くことはできません。

ダイアログ ボックスへのユーザーの応答を処理する方法の詳細については、「ダイアログボックスの概要: 応答の処理」を参照してください。

モードレスとして開く

ウィンドウをモードレスで開くことは、通常のウィンドウとして表示することを意味します。 ウィンドウを開いたコードは、ウィンドウが表示されても実行を続けます。 アプリケーションによって表示されるすべてのモードレス ウィンドウにフォーカスを当てて対話することができ、制限はありません。

Show メソッドを使用して、ウィンドウを開きます。 次のコードでは、ウィンドウのインスタンスを作成し、モードレスとして開きます。 ウィンドウを開いたコードは、実行を続けます。

var window = new Margins();

window.Owner = this;
window.Show();
Dim myWindow As New Margins()

myWindow.Owner = Me
myWindow.Show()

重要

ウィンドウが閉じられると、同じオブジェクト インスタンスを使用してそのウィンドウ再度開くことはできません。

関連項目