Form.ShowDialog Метод

Определение

Отображает форму как модальное диалоговое окно.Shows the form as a modal dialog box.

Перегрузки

ShowDialog()

Отображает форму как модальное диалоговое окно.Shows the form as a modal dialog box.

ShowDialog(IWin32Window)

Отображает эту форму в виде модального диалогового окна с указанным владельцем.Shows the form as a modal dialog box with the specified owner.

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

Возвраты

Одно из значений перечисления DialogResult.One of the DialogResult values.

Исключения

Отображаемая форма уже отображена.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 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 с именем TextBox1.This 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

Комментарии

Этот метод можно использовать для вывода модального диалогового окна в приложении.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. Диалоговому окну можно назначить одно из значений перечисления 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.

Когда форма отображается как модальное диалоговое окно, нажатие кнопки Закрыть (кнопка с крестиком в правом верхнем углу формы) приводит к скрытию формы, а свойство 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)

Отображает эту форму в виде модального диалогового окна с указанным владельцем.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, представляющий окно верхнего уровня, которое станет владельцем модального диалогового окна.Any object that implements IWin32Window that represents the top-level window that will own the modal dialog box.

Возвраты

Одно из значений перечисления DialogResult.One of the DialogResult values.

Исключения

Форма, указанная в параметре 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 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 с именем TextBox1.This 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

Комментарии

Этот метод можно использовать для вывода модального диалогового окна в приложении.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. Диалоговому окну можно назначить одно из значений 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.

Когда форма отображается как модальное диалоговое окно, нажатие кнопки Закрыть (кнопка с крестиком в правом верхнем углу формы) приводит к скрытию формы, а свойство 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.

Дополнительно

Применяется к