Form.ShowDialog Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Wyświetla formularz jako modalne okno dialogowe.
Przeciążenia
ShowDialog() |
Wyświetla formularz jako modalne okno dialogowe. |
ShowDialog(IWin32Window) |
Wyświetla formularz jako modalne okno dialogowe z określonym właścicielem. |
ShowDialog()
Wyświetla formularz jako modalne okno dialogowe.
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
Zwraca
DialogResult Jedna z wartości.
Wyjątki
Wyświetlany formularz jest już widoczny.
-lub- Wyświetlany formularz jest wyłączony.
-lub- Wyświetlany formularz nie jest oknem najwyższego poziomu.
-lub- Formularz wyświetlany jako okno dialogowe jest już formularzem modalnym.
-lub- Bieżący proces nie jest uruchomiony w trybie interaktywnym użytkownika (aby uzyskać więcej informacji, zobacz UserInteractive).
Przykłady
Poniższy przykład wyświetla formularz jako modalne okno dialogowe i ocenia wartość zwracaną okna dialogowego przed określeniem, czy odczytać wartość TextBox kontrolki w formularzu okna dialogowego. Ten przykład wymaga utworzenia Form nazwy testDialog
i zawiera kontrolkę TextBox o nazwie TextBox1
. Ponadto przykład wymaga, aby kod w tym przykładzie był zawarty i wywoływany z innego Form w celu wyświetlenia testDialog
go jako modalnego okna dialogowego. W przykładzie użyto wersji ShowDialog , która określa właściciela okna dialogowego.
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
Uwagi
Ta metoda służy do wyświetlania modalnego okna dialogowego w aplikacji. Po wywołaniu tej metody kod po niej nie jest wykonywany dopiero po zamknięciu okna dialogowego. Do okna dialogowego można przypisać jedną z wartości DialogResult wyliczenia, przypisując ją do DialogResult właściwości Button obiektu w formularzu lub ustawiając DialogResult właściwość formularza w kodzie. Ta wartość jest następnie zwracana przez tę metodę. Możesz użyć tej wartości zwracanej, aby określić sposób przetwarzania akcji, które wystąpiły w oknie dialogowym. Jeśli na przykład okno dialogowe zostało zamknięte i zwróciło DialogResult.Cancel
wartość za pomocą tej metody, możesz uniemożliwić wykonanie kodu następującego po wywołaniu ShowDialog metody .
Gdy formularz jest wyświetlany jako modalne okno dialogowe, kliknięcie przycisku Zamknij (przycisk z symbolem X w prawym górnym rogu formularza) powoduje ukrycie formularza i DialogResult ustawienie właściwości na DialogResult.Cancel
wartość . W przeciwieństwie do formularzy Close niemodalnych metoda nie jest wywoływana przez .NET Framework, gdy użytkownik kliknie przycisk zamknij formularz okna dialogowego lub ustawi wartość DialogResult właściwości. Zamiast tego formularz jest ukryty i można go wyświetlić ponownie bez tworzenia nowego wystąpienia okna dialogowego. Ponieważ formularz wyświetlany jako okno dialogowe jest ukryty zamiast zamknięty, należy wywołać Dispose metodę formularza, gdy formularz nie jest już potrzebny przez aplikację.
Ta wersja ShowDialog metody nie określa formularza ani kontrolki jako właściciela. Po wywołaniu tej wersji aktualnie aktywne okno jest właścicielem okna dialogowego. Jeśli chcesz określić określonego właściciela, użyj innej wersji tej metody.
Zobacz też
Dotyczy
ShowDialog(IWin32Window)
Wyświetla formularz jako modalne okno dialogowe z określonym właścicielem.
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
Parametry
- owner
- IWin32Window
Każdy obiekt, który implementuje IWin32Window okno najwyższego poziomu, które będzie właścicielem modalnego okna dialogowego.
Zwraca
DialogResult Jedna z wartości.
Wyjątki
Formularz określony w parametrze owner
jest taki sam jak wyświetlany formularz.
Wyświetlany formularz jest już widoczny.
-lub- Wyświetlany formularz jest wyłączony.
-lub- Wyświetlany formularz nie jest oknem najwyższego poziomu.
-lub- Formularz wyświetlany jako okno dialogowe jest już formularzem modalnym.
-lub- Bieżący proces nie jest uruchomiony w trybie interaktywnym użytkownika (aby uzyskać więcej informacji, zobacz UserInteractive).
Przykłady
Poniższy przykład wyświetla formularz jako modalne okno dialogowe i ocenia wartość zwracaną okna dialogowego przed określeniem, czy odczytać wartość TextBox kontrolki w formularzu okna dialogowego. Ten przykład wymaga utworzenia Form nazwy Form2
i zawiera kontrolkę TextBox o nazwie TextBox1
. W przykładzie użyto wersji ShowDialog , która określa właściciela okna dialogowego.
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
Uwagi
Ta metoda służy do wyświetlania modalnego okna dialogowego w aplikacji. Po wywołaniu tej metody kod po niej nie jest wykonywany dopiero po zamknięciu okna dialogowego. Do okna dialogowego można przypisać jedną z wartości DialogResult , przypisując ją do DialogResult właściwości Button obiektu w formularzu lub ustawiając DialogResult właściwość formularza w kodzie. Ta wartość jest następnie zwracana przez tę metodę. Możesz użyć tej wartości zwracanej, aby określić sposób przetwarzania akcji, które wystąpiły w oknie dialogowym. Jeśli na przykład okno dialogowe zostało zamknięte i zwróciło DialogResult.Cancel
wartość za pomocą tej metody, możesz uniemożliwić wykonanie kodu następującego po wywołaniu ShowDialog metody .
Gdy formularz jest wyświetlany jako modalne okno dialogowe, kliknięcie przycisku Zamknij (przycisk z symbolem X w prawym górnym rogu formularza) powoduje ukrycie formularza i DialogResult ustawienie właściwości na DialogResult.Cancel
wartość . W przeciwieństwie do formularzy Close bez moderowania metoda nie jest wywoływana przez .NET Framework, gdy użytkownik kliknie przycisk zamknij formularz okna dialogowego lub ustawi wartość DialogResult właściwości. Zamiast tego formularz jest ukryty i można go wyświetlić ponownie bez tworzenia nowego wystąpienia okna dialogowego. Ponieważ formularz wyświetlany jako okno dialogowe jest ukryty zamiast zamknięty, należy wywołać Dispose metodę formularza, gdy formularz nie jest już potrzebny przez aplikację.
Ta wersja ShowDialog metody umożliwia określenie określonego formularza, który będzie właścicielem wyświetlanego okna dialogowego.