Form.ShowDialog メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
フォームをモーダル ダイアログ ボックスとして表示します。
オーバーロード
ShowDialog() |
フォームをモーダル ダイアログ ボックスとして表示します。 |
ShowDialog(IWin32Window) |
指定した所有者を持つモーダル ダイアログ ボックスとしてフォームを表示します。 |
ShowDialog()
フォームをモーダル ダイアログ ボックスとして表示します。
public:
System::Windows::Forms::DialogResult ShowDialog();
public System.Windows.Forms.DialogResult ShowDialog ();
member this.ShowDialog : unit -> System.Windows.Forms.DialogResult
Public Function ShowDialog () As DialogResult
戻り値
DialogResult 値のいずれか 1 つ。
例外
表示しようとしているフォームが既に表示されています。
または - 表示しようとしているフォームが無効です。
または - 表示しようとしているフォームがトップレベル ウィンドウではありません。
または - ダイアログ ボックスとして表示しようとしているフォームが既にモーダル フォームです。
または - 現在のプロセスがユーザー対話モードで実行されていません (詳細については、UserInteractive のトピックを参照してください)。
例
次の使用例は、フォームをモーダル ダイアログ ボックスとして表示し、ダイアログ ボックス フォームのコントロールの値を読み取るかどうかを決定する前に、ダイアログ ボックスの TextBox 戻り値を評価します。 この例では、名前がForm作成され、名前付きtestDialog
コントロールTextBox1
が含まれているTextBox必要があります。 さらに、この例では、モーダル ダイアログ ボックスとして表示testDialog
するために、この例のコードを含め、別Formのコードから呼び出す必要があります。 この例では、ダイアログ ボックスの ShowDialog 所有者を指定するバージョンを使用します。
void ShowMyDialogBox()
{
Form2^ testDialog = gcnew Form2;
// Show testDialog as a modal dialog and determine if DialogResult = OK.
if ( testDialog->ShowDialog( this ) == ::DialogResult::OK )
{
// Read the contents of testDialog's TextBox.
this->txtResult->Text = testDialog->TextBox1->Text;
}
else
{
this->txtResult->Text = "Cancelled";
}
delete testDialog;
}
public void ShowMyDialogBox()
{
Form2 testDialog = new Form2();
// Show testDialog as a modal dialog and determine if DialogResult = OK.
if (testDialog.ShowDialog(this) == DialogResult.OK)
{
// Read the contents of testDialog's TextBox.
this.txtResult.Text = testDialog.TextBox1.Text;
}
else
{
this.txtResult.Text = "Cancelled";
}
testDialog.Dispose();
}
Public Sub ShowMyDialogBox()
Dim testDialog As New Form2()
' Show testDialog as a modal dialog and determine if DialogResult = OK.
If testDialog.ShowDialog(Me) = System.Windows.Forms.DialogResult.OK Then
' Read the contents of testDialog's TextBox.
txtResult.Text = testDialog.TextBox1.Text
Else
txtResult.Text = "Cancelled"
End If
testDialog.Dispose()
End Sub
注釈
このメソッドを使用すると、アプリケーションにモーダル ダイアログ ボックスを表示できます。 このメソッドが呼び出されると、次のコードは、ダイアログ ボックスが閉じられるまで実行されません。 ダイアログ ボックスは、フォーム上の a のDialogResultプロパティに割り当てるか、コードでフォームのプロパティをDialogResult設定することで、列挙の値の 1 つを割DialogResultり当Buttonてることができます。 この値は、このメソッドによって返されます。 この戻り値を使用して、ダイアログ ボックスで発生したアクションを処理する方法を決定できます。 たとえば、ダイアログ ボックスが閉じられ、このメソッドを使用して値が DialogResult.Cancel
返された場合、呼び出し ShowDialog に続くコードが実行されないようにすることができます。
フォームがモーダル ダイアログ ボックスとして表示されている場合、[ 閉じる ] ボタン (フォームの右上隅に X があるボタン) をクリックすると、フォームが非表示になり、プロパティが DialogResult 設定 DialogResult.Cancel
されます。 非モーダル フォームとは異なり、Closeユーザーがダイアログ ボックスの閉じるフォーム ボタンをクリックしたり、プロパティの値DialogResultを設定したりしても、メソッドは.NET Frameworkによって呼び出されません。 代わりに、フォームは非表示になり、ダイアログ ボックスの新しいインスタンスを作成せずに再度表示できます。 ダイアログ ボックスとして表示されるフォームは閉じるのではなく非表示になるため、フォームがアプリケーションで不要になった場合は、フォームのメソッドを呼び出す Dispose 必要があります。
このバージョンの ShowDialog メソッドでは、フォームまたはコントロールを所有者として指定しません。 このバージョンが呼び出されると、現在アクティブなウィンドウがダイアログ ボックスの所有者になります。 特定の所有者を指定する場合は、このメソッドの他のバージョンを使用します。
こちらもご覧ください
適用対象
ShowDialog(IWin32Window)
指定した所有者を持つモーダル ダイアログ ボックスとしてフォームを表示します。
public:
System::Windows::Forms::DialogResult ShowDialog(System::Windows::Forms::IWin32Window ^ owner);
public System.Windows.Forms.DialogResult ShowDialog (System.Windows.Forms.IWin32Window owner);
public System.Windows.Forms.DialogResult ShowDialog (System.Windows.Forms.IWin32Window? owner);
member this.ShowDialog : System.Windows.Forms.IWin32Window -> System.Windows.Forms.DialogResult
Public Function ShowDialog (owner As IWin32Window) As DialogResult
パラメーター
- owner
- IWin32Window
モーダル ダイアログ ボックスを所有するトップレベル ウィンドウを表す IWin32Window を実装しているオブジェクト。
戻り値
DialogResult 値のいずれか 1 つ。
例外
owner
パラメーターで指定されたフォームが、表示しようとしているフォームと同じです。
表示しようとしているフォームが既に表示されています。
または - 表示しようとしているフォームが無効です。
または - 表示しようとしているフォームがトップレベル ウィンドウではありません。
または - ダイアログ ボックスとして表示しようとしているフォームが既にモーダル フォームです。
または - 現在のプロセスがユーザー対話モードで実行されていません (詳細については、UserInteractive のトピックを参照してください)。
例
次の使用例は、フォームをモーダル ダイアログ ボックスとして表示し、ダイアログ ボックス フォームのコントロールの値を読み取るかどうかを決定する前に、ダイアログ ボックスの TextBox 戻り値を評価します。 この例では、名前がForm作成され、名前付きForm2
コントロールTextBox1
が含まれているTextBox必要があります。 この例では、ダイアログ ボックスの ShowDialog 所有者を指定するバージョンを使用します。
void ShowMyDialogBox()
{
Form2^ testDialog = gcnew Form2;
// Show testDialog as a modal dialog and determine if DialogResult = OK.
if ( testDialog->ShowDialog( this ) == ::DialogResult::OK )
{
// Read the contents of testDialog's TextBox.
this->txtResult->Text = testDialog->TextBox1->Text;
}
else
{
this->txtResult->Text = "Cancelled";
}
delete testDialog;
}
public void ShowMyDialogBox()
{
Form2 testDialog = new Form2();
// Show testDialog as a modal dialog and determine if DialogResult = OK.
if (testDialog.ShowDialog(this) == DialogResult.OK)
{
// Read the contents of testDialog's TextBox.
this.txtResult.Text = testDialog.TextBox1.Text;
}
else
{
this.txtResult.Text = "Cancelled";
}
testDialog.Dispose();
}
Public Sub ShowMyDialogBox()
Dim testDialog As New Form2()
' Show testDialog as a modal dialog and determine if DialogResult = OK.
If testDialog.ShowDialog(Me) = System.Windows.Forms.DialogResult.OK Then
' Read the contents of testDialog's TextBox.
txtResult.Text = testDialog.TextBox1.Text
Else
txtResult.Text = "Cancelled"
End If
testDialog.Dispose()
End Sub
注釈
このメソッドを使用すると、アプリケーションにモーダル ダイアログ ボックスを表示できます。 このメソッドが呼び出されると、次のコードは、ダイアログ ボックスが閉じられるまで実行されません。 ダイアログ ボックスは、フォーム上の a の DialogResult プロパティに DialogResult 割り当てるか、コードでフォームの Button プロパティを設定 DialogResult することによって、いずれかの値を割り当てることができます。 この値は、このメソッドによって返されます。 この戻り値を使用して、ダイアログ ボックスで発生したアクションを処理する方法を決定できます。 たとえば、ダイアログ ボックスが閉じられ、このメソッドを使用して値が DialogResult.Cancel
返された場合、呼び出し ShowDialog に続くコードが実行されないようにすることができます。
フォームがモーダル ダイアログ ボックスとして表示されている場合、[ 閉じる ] ボタン (フォームの右上隅に X があるボタン) をクリックすると、フォームが非表示になり、プロパティが DialogResult 設定 DialogResult.Cancel
されます。 モードレス フォームとは異なり、Closeユーザーがダイアログ ボックスの閉じるフォーム ボタンをクリックしたり、プロパティの値DialogResultを設定したりしても、メソッドは.NET Frameworkによって呼び出されません。 代わりに、フォームは非表示になり、ダイアログ ボックスの新しいインスタンスを作成せずに再度表示できます。 ダイアログ ボックスとして表示されるフォームは閉じるのではなく非表示になるため、フォームがアプリケーションで不要になった場合は、フォームのメソッドを呼び出す Dispose 必要があります。
このバージョンの ShowDialog メソッドを使用すると、表示されるダイアログ ボックスを所有する特定のフォームを指定できます。