Form.ShowDialog Form.ShowDialog Form.ShowDialog Form.ShowDialog Method

定義

フォームをモーダル ダイアログ ボックスとして表示します。Shows the form as a modal dialog box.

オーバーロード

ShowDialog() ShowDialog() ShowDialog() ShowDialog()

フォームをモーダル ダイアログ ボックスとして表示します。Shows the form as a modal dialog box.

ShowDialog(IWin32Window) ShowDialog(IWin32Window) ShowDialog(IWin32Window) ShowDialog(IWin32Window)

指定した所有者を持つモーダル ダイアログ ボックスとしてフォームを表示します。Shows the form as a modal dialog box with the specified owner.

ShowDialog() ShowDialog() ShowDialog() ShowDialog()

フォームをモーダル ダイアログ ボックスとして表示します。Shows the form as a modal dialog box.

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

戻り値

例外

表示しようとしているフォームが既に表示されています。The form being shown is already visible.

または-or- 表示しようとしているフォームが無効です。The form being shown is disabled.

または-or- 表示しようとしているフォームがトップレベル ウィンドウではありません。The form being shown is not a top-level window.

または-or- ダイアログ ボックスとして表示しようとしているフォームが既にモーダル フォームです。The form being shown as a dialog box is already a modal form.

または-or- 現在のプロセスがユーザー対話モードで実行されていません (詳細については、UserInteractive のトピックを参照してください)。The current process is not running in user interactive mode (for more information, see UserInteractive).

次のコード例はモーダル ダイアログ ボックスとしてフォームを表示しの値を読み取るかどうかを決定する前に、ダイアログ ボックスの戻り値を評価、TextBoxダイアログ ボックスのフォーム上のコントロール。The following code example displays a form as a modal dialog box and evaluates the return value of the dialog box before determining whether to read the value of a TextBox control on the dialog box form. この例では、する必要があります、FormというtestDialogが作成されるとそれに含まれる、TextBoxという名前のコントロールTextBox1This example requires that a Form named testDialog is created and that it contains a TextBox control named TextBox1. さらに、例にこのコード例が含まれているされ、異なるから呼び出すことが必要がありますForm表示するためにtestDialogモーダル ダイアログ ボックスとして。Furthermore, the example requires that code in this example is contained and called from a different Form in order to display testDialog as a modal dialog box. バージョンを使用する例では、 ShowDialog ダイアログ ボックスの所有者を指定します。The example uses the version of ShowDialog that specifies an owner for the dialog box.

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 'ShowMyDialogBox

注釈

このメソッドを使用して、アプリケーションにモーダル ダイアログ ボックスを表示することができます。You can use this method to display a modal dialog box in your application. このメソッドが呼び出されると、ダイアログ ボックスが閉じられた後までそれに続くコードは実行されません。When this method is called, the code following it is not executed until after the dialog box is closed. ダイアログ ボックスの値の 1 つ割り当てられることができます、DialogResult列挙型に割り当てることで、DialogResultのプロパティをButtonフォームのかを設定して、DialogResultコード内のフォームのプロパティ。The dialog box can be assigned one of the values of the DialogResult enumeration by assigning it to the DialogResult property of a Button on the form or by setting the DialogResult property of the form in code. この値は、このメソッドによって返されます。This value is then returned by this method. この戻り値を使用すると、ダイアログ ボックスで発生したアクションを処理するのに方法を決定します。You can use this return value to determine how to process the actions that occurred in the dialog box. ダイアログ ボックスが閉じられ、返される場合など、DialogResult.Cancel値このメソッドの呼び出しの後のコードを妨げる可能性ShowDialogから実行します。For example, if the dialog box was closed and returned the DialogResult.Cancel value through this method, you could prevent code following the call to ShowDialog from executing.

モーダル ダイアログ ボックスとしてフォームが表示されたら、クリックすると、閉じるボタン (フォームの右上隅にある x ボタン) と非表示にするためのフォームとDialogResultプロパティを設定するDialogResult.Cancelします。When a form is displayed as a modal dialog box, clicking the Close button (the button with an X at the upper-right corner of the form) causes the form to be hidden and the DialogResult property to be set to DialogResult.Cancel. 非モーダル フォームとは異なり、Closeユーザー ダイアログ ボックスのフォームを閉じるボタンをクリックしたかの値を設定、メソッドは、.NET Framework で呼び出されません、DialogResultプロパティ。Unlike non-modal forms, the Close method is not called by the .NET Framework when the user clicks the close form button of a dialog box or sets the value of the DialogResult property. 代わりにフォームを非表示にし、ダイアログ ボックスの新しいインスタンスを作成しなくても再度表示されることができます。Instead the form is hidden and can be shown again without creating a new instance of the dialog box. フォームが閉じられたのではなくダイアログ ボックスが非表示として表示に呼び出す必要があるため、Disposeフォームは、アプリケーションで不要になったときにフォームのメソッド。Because a form displayed as a dialog box is hidden instead of closed, you must call the Dispose method of the form when the form is no longer needed by your application.

このバージョンのShowDialogメソッドが指定されていないフォームまたはコントロールの所有者。This version of the ShowDialog method does not specify a form or control as its owner. このバージョンが呼び出されると、現在アクティブなウィンドウには、ダイアログ ボックスのオーナーが行われます。When this version is called, the currently active window is made the owner of the dialog box. 特定の所有者を指定する場合は、このメソッドの他のバージョンを使用します。If you want to specify a specific owner, use the other version of this method.

こちらもご覧ください

ShowDialog(IWin32Window) ShowDialog(IWin32Window) ShowDialog(IWin32Window) ShowDialog(IWin32Window)

指定した所有者を持つモーダル ダイアログ ボックスとしてフォームを表示します。Shows the form as a modal dialog box with the specified 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 IWin32Window IWin32Window

モーダル ダイアログ ボックスを所有するトップレベル ウィンドウを表す IWin32Window を実装しているオブジェクト。Any object that implements IWin32Window that represents the top-level window that will own the modal dialog box.

戻り値

例外

owner パラメーターで指定されたフォームが、表示しようとしているフォームと同じです。The form specified in the owner parameter is the same as the form being shown.

表示しようとしているフォームが既に表示されています。The form being shown is already visible.

または-or- 表示しようとしているフォームが無効です。The form being shown is disabled.

または-or- 表示しようとしているフォームがトップレベル ウィンドウではありません。The form being shown is not a top-level window.

または-or- ダイアログ ボックスとして表示しようとしているフォームが既にモーダル フォームです。The form being shown as a dialog box is already a modal form.

または-or- 現在のプロセスがユーザー対話モードで実行されていません (詳細については、UserInteractive のトピックを参照してください)。The current process is not running in user interactive mode (for more information, see UserInteractive).

次のコード例はモーダル ダイアログ ボックスとしてフォームを表示しの値を読み取るかどうかを決定する前に、ダイアログ ボックスの戻り値を評価、TextBoxダイアログ ボックスのフォーム上のコントロール。The following code example displays a form as a modal dialog box and evaluates the return value of the dialog box before determining whether to read the value of a TextBox control on the dialog box form. この例では、する必要があります、FormというForm2が作成されるとそれに含まれる、TextBoxという名前のコントロールTextBox1This example requires that a Form named Form2 is created and that it contains a TextBox control named TextBox1. バージョンを使用する例では、 ShowDialog ダイアログ ボックスの所有者を指定します。The example uses the version of ShowDialog that specifies an owner for the dialog box.

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 'ShowMyDialogBox

注釈

このメソッドを使用して、アプリケーションにモーダル ダイアログ ボックスを表示することができます。You can use this method to display a modal dialog box in your application. このメソッドが呼び出されると、ダイアログ ボックスが閉じられた後までそれに続くコードは実行されません。When this method is called, the code following it is not executed until after the dialog box is closed. ダイアログ ボックスの値の 1 つ割り当てられることができますDialogResultに割り当てることで、DialogResultのプロパティをButtonフォームのかを設定して、DialogResultコード内のフォームのプロパティ。The dialog box can be assigned one of the values of DialogResult by assigning it to the DialogResult property of a Button on the form or by setting the DialogResult property of the form in code. この値は、このメソッドによって返されます。This value is then returned by this method. この戻り値を使用すると、ダイアログ ボックスで発生したアクションを処理するのに方法を決定します。You can use this return value to determine how to process the actions that occurred in the dialog box. ダイアログ ボックスが閉じられ、返される場合など、DialogResult.Cancel値このメソッドの呼び出しの後のコードを妨げる可能性ShowDialogから実行します。For example, if the dialog box was closed and returned the DialogResult.Cancel value through this method, you could prevent code following the call to ShowDialog from executing.

モーダル ダイアログ ボックスとしてフォームが表示されたら、クリックすると、閉じるボタン (フォームの右上隅にある x ボタン) と非表示にするためのフォームとDialogResultプロパティを設定するDialogResult.Cancelします。When a form is displayed as a modal dialog box, clicking the Close button (the button with an X at the upper-right corner of the form) causes the form to be hidden and the DialogResult property to be set to DialogResult.Cancel. モードレス フォームとは異なり、Closeユーザー ダイアログ ボックスのフォームを閉じるボタンをクリックしたかの値を設定、メソッドは、.NET Framework で呼び出されません、DialogResultプロパティ。Unlike modeless forms, the Close method is not called by the .NET Framework when the user clicks the close form button of a dialog box or sets the value of the DialogResult property. 代わりにフォームを非表示にし、ダイアログ ボックスの新しいインスタンスを作成しなくても再度表示されることができます。Instead the form is hidden and can be shown again without creating a new instance of the dialog box. フォームが閉じられたのではなくダイアログ ボックスが非表示として表示に呼び出す必要があるため、Disposeフォームは、アプリケーションで不要になったときにフォームのメソッド。Because a form displayed as a dialog box is hidden instead of closed, you must call the Dispose method of the form when the form is no longer needed by your application.

このバージョンのShowDialogメソッドでは、特定のフォームに表示されるダイアログ ボックスを所有するを指定できます。This version of the ShowDialog method allows you to specify a specific form that will own the dialog box that is shown.

こちらもご覧ください

適用対象