Udostępnij za pośrednictwem


Form.ShowDialog Metoda

Definicja

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

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.Cancelwartość . 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

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.Cancelwartość . 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.

Zobacz też

Dotyczy