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.
Исключения
Отображаемая форма уже отображена.
-или- Отображаемая форма отключена.
-или- Отображаемая форма не является окном верхнего уровня.
-или- Отображаемая в виде диалогового окна форма уже является модальной формой.
-или- Текущий процесс не выполняется в интерактивном пользовательском режиме (дополнительные сведения см. в описании свойства 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.
Исключения
Форма, указанная в параметре 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 метода позволяет указать определенную форму, которая будет принадлежать отображаемого диалогового окна.