Form.ShowDialog Метод

Определение

Отображает форму как модальное диалоговое окно.

Перегрузки

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

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

Исключения

Отображаемая форма уже отображена.

-или- Отображаемая форма отключена.

-или- Отображаемая форма не является окном верхнего уровня.

-или- Отображаемая в виде диалогового окна форма уже является модальной формой.

-или- Текущий процесс не выполняется в интерактивном пользовательском режиме (дополнительные сведения см. в описании свойства UserInteractive).

Примеры

В следующем примере форма отображается как модальное диалоговое окно и вычисляется возвращаемое значение диалогового окна перед определением того, следует ли считать значение элемента управления в форме диалогового TextBox окна. В этом примере требуется, чтобы Form имя testDialog было создано и содержит TextBox элемент управления с именем TextBox1. Кроме того, в примере требуется, чтобы код в этом примере содержался и вызывался из другого Form , чтобы отображаться testDialog как модальное диалоговое окно. В примере используется версия 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

Комментарии

Этот метод можно использовать для отображения модального диалогового окна в приложении. При вызове этого метода следующий код не выполняется до закрытия диалогового окна. Диалоговое окно можно назначить одному из значений DialogResult перечисления, назначив его свойству DialogResult формы Button в форме или задав DialogResult свойство формы в коде. Затем это значение возвращается этим методом. Это возвращаемое значение можно использовать для определения способа обработки действий, произошедших в диалоговом окне. Например, если диалоговое окно было закрыто и возвращено DialogResult.Cancel значение с помощью этого метода, можно предотвратить выполнение кода после вызова ShowDialog .

Если форма отображается как модальное диалоговое окно, нажатие кнопки "Закрыть " (кнопка с кнопкой X в правом верхнем углу формы) приводит к скрытию формы и DialogResult присвоению DialogResult.Cancelсвойства . В отличие от немодальных форм, Close метод не вызывается платформа .NET Framework когда пользователь нажимает кнопку закрытия формы диалогового DialogResult окна или задает значение свойства. Вместо этого форма скрыта и может отображаться снова без создания нового экземпляра диалогового окна. Так как форма, отображаемая как диалоговое окно, скрыта, а не закрыта, необходимо вызвать 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

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

Исключения

Форма, указанная в параметре owner, совпадает с отображаемой формой.

Отображаемая форма уже отображена.

-или- Отображаемая форма отключена.

-или- Отображаемая форма не является окном верхнего уровня.

-или- Отображаемая в виде диалогового окна форма уже является модальной формой.

-или- Текущий процесс не выполняется в интерактивном пользовательском режиме (дополнительные сведения см. в описании свойства UserInteractive).

Примеры

В следующем примере форма отображается как модальное диалоговое окно и вычисляется возвращаемое значение диалогового окна перед определением того, следует ли считать значение элемента управления в форме диалогового TextBox окна. В этом примере требуется, чтобы Form имя Form2 было создано и содержит TextBox элемент управления с именем TextBox1. В примере используется версия 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

Комментарии

Этот метод можно использовать для отображения модального диалогового окна в приложении. При вызове этого метода следующий код не выполняется до закрытия диалогового окна. Диалоговое окно можно назначить одному из значений DialogResult , назначив его свойству DialogResult формы Button в форме или задав DialogResult свойство формы в коде. Затем это значение возвращается этим методом. Это возвращаемое значение можно использовать для определения способа обработки действий, произошедших в диалоговом окне. Например, если диалоговое окно было закрыто и возвращено DialogResult.Cancel значение с помощью этого метода, можно предотвратить выполнение кода после вызова ShowDialog .

Если форма отображается как модальное диалоговое окно, нажатие кнопки "Закрыть " (кнопка с кнопкой X в правом верхнем углу формы) приводит к скрытию формы и DialogResult присвоению DialogResult.Cancelсвойства . В отличие от бессерверных форм, Close метод не вызывается платформа .NET Framework когда пользователь нажимает кнопку закрытия формы диалогового окна или задает значение DialogResult свойства. Вместо этого форма скрыта и может отображаться снова без создания нового экземпляра диалогового окна. Так как форма, отображаемая как диалоговое окно, скрыта, а не закрыта, необходимо вызвать Dispose метод формы, когда форма больше не нужна приложению.

Эта версия ShowDialog метода позволяет указать определенную форму, которая будет принадлежать отображаемого диалогового окна.

См. также раздел

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