Поделиться через


Form.ShowDialog Метод

Определение

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

Перегрузки

Имя Описание
ShowDialog()

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

ShowDialog(IWin32Window)

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

ShowDialog()

Исходный код:
Form.cs
Исходный код:
Form.cs
Исходный код:
Form.cs
Исходный код:
Form.cs
Исходный код:
Form.cs

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

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 .

Исключения

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

–или–

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

–или–

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

–или–

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

–или–

Текущий процесс не выполняется в интерактивном режиме пользователя (дополнительные сведения см. в статье 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)

Исходный код:
Form.cs
Исходный код:
Form.cs
Исходный код:
Form.cs
Исходный код:
Form.cs
Исходный код:
Form.cs

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

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 .

Исключения

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

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

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

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