Teilen über


Form.ShowDialog Methode

Definition

Zeigt das Formular als modales Dialogfeld an.

Überlädt

ShowDialog()

Zeigt das Formular als modales Dialogfeld an.

ShowDialog(IWin32Window)

Zeigt das Formular als modales Dialogfeld mit dem angegebenen Besitzer an.

ShowDialog()

Zeigt das Formular als modales Dialogfeld an.

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

Gibt zurück

Einer der DialogResult-Werte.

Ausnahmen

Das anzuzeigende Formular ist bereits sichtbar.

- oder -

Das anzuzeigende Formular ist deaktiviert.

- oder -

Das anzuzeigende Formular ist kein Fenster der obersten Ebene.

- oder -

Das als Dialogfeld anzuzeigende Formular ist bereits ein modales Formular.

- oder -

Der aktuelle Prozess wird nicht im interaktiven Modus ausgeführt (weitere Informationen finden Sie unter UserInteractive).

Beispiele

Im folgenden Beispiel wird ein Formular als modales Dialogfeld angezeigt und der Rückgabewert des Dialogfelds ausgewertet, bevor bestimmt wird, ob der Wert eines TextBox Steuerelements im Dialogfeldformular gelesen werden soll. Dieses Beispiel erfordert, dass ein Form benannter testDialog erstellt wird und ein TextBox Steuerelement mit dem Namen TextBox1enthält. Darüber hinaus erfordert das Beispiel, dass Code in diesem Beispiel enthalten und aus einem anderen Form aufgerufen wird, um als modales Dialogfeld angezeigt zu werden testDialog . Im Beispiel wird die Version von ShowDialog verwendet, die einen Besitzer für das Dialogfeld angibt.

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

Hinweise

Sie können diese Methode verwenden, um ein modales Dialogfeld in Ihrer Anwendung anzuzeigen. Wenn diese Methode aufgerufen wird, wird der folgende Code erst ausgeführt, nachdem das Dialogfeld geschlossen wurde. Dem Dialogfeld kann einer der Werte der DialogResult Enumeration zugewiesen werden, indem er der DialogResult -Eigenschaft eines Button im Formular zugewiesen wird oder die -Eigenschaft des Formulars im Code festgelegt DialogResult wird. Dieser Wert wird dann von dieser Methode zurückgegeben. Sie können diesen Rückgabewert verwenden, um zu bestimmen, wie die Aktionen verarbeitet werden, die im Dialogfeld aufgetreten sind. Wenn das Dialogfeld beispielsweise geschlossen wurde und der DialogResult.Cancel Wert über diese Methode zurückgegeben wurde, könnten Sie verhindern, dass Code nach dem Aufruf ShowDialog von ausgeführt wird.

Wenn ein Formular als modales Dialogfeld angezeigt wird, wird durch Klicken auf die Schaltfläche Schließen (die Schaltfläche mit einem X in der oberen rechten Ecke des Formulars) das Formular ausgeblendet und die DialogResult -Eigenschaft auf DialogResult.Cancelfestgelegt. Im Gegensatz zu nicht modalen Formularen wird die Close -Methode nicht vom .NET Framework aufgerufen, wenn der Benutzer auf die Schaltfläche zum Schließen des Formulars eines Dialogfelds klickt oder den Wert der DialogResult Eigenschaft festlegt. Stattdessen ist das Formular ausgeblendet und kann erneut angezeigt werden, ohne eine neue Instanz des Dialogfelds zu erstellen. Da ein als Dialogfeld angezeigtes Formular ausgeblendet und nicht geschlossen ist, müssen Sie die Dispose -Methode des Formulars aufrufen, wenn das Formular von Der Anwendung nicht mehr benötigt wird.

Diese Version der ShowDialog -Methode gibt kein Formular oder Steuerelement als Besitzer an. Wenn diese Version aufgerufen wird, wird das aktuell aktive Fenster zum Besitzer des Dialogfelds gemacht. Wenn Sie einen bestimmten Besitzer angeben möchten, verwenden Sie die andere Version dieser Methode.

Weitere Informationen

Gilt für:

ShowDialog(IWin32Window)

Zeigt das Formular als modales Dialogfeld mit dem angegebenen Besitzer an.

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

Parameter

owner
IWin32Window

Ein beliebiges Objekt, das IWin32Window implementiert, das das Fenster der obersten Ebene und damit den Besitzer des modalen Dialogfelds darstellt.

Gibt zurück

Einer der DialogResult-Werte.

Ausnahmen

Das im owner-Parameter angegebene Formular ist mit dem angezeigten Formular identisch.

Das anzuzeigende Formular ist bereits sichtbar.

- oder -

Das anzuzeigende Formular ist deaktiviert.

- oder -

Das anzuzeigende Formular ist kein Fenster der obersten Ebene.

- oder -

Das als Dialogfeld anzuzeigende Formular ist bereits ein modales Formular.

- oder -

Der aktuelle Prozess wird nicht im interaktiven Modus ausgeführt (weitere Informationen finden Sie unter UserInteractive).

Beispiele

Im folgenden Beispiel wird ein Formular als modales Dialogfeld angezeigt und der Rückgabewert des Dialogfelds ausgewertet, bevor bestimmt wird, ob der Wert eines TextBox Steuerelements im Dialogfeldformular gelesen werden soll. Dieses Beispiel erfordert, dass ein Form benannter Form2 erstellt wird und ein TextBox Steuerelement mit dem Namen TextBox1enthält. Im Beispiel wird die Version von ShowDialog verwendet, die einen Besitzer für das Dialogfeld angibt.

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

Hinweise

Sie können diese Methode verwenden, um ein modales Dialogfeld in Ihrer Anwendung anzuzeigen. Wenn diese Methode aufgerufen wird, wird der folgende Code erst ausgeführt, nachdem das Dialogfeld geschlossen wurde. Dem Dialogfeld kann einer der Werte von DialogResult zugewiesen werden, indem er der DialogResult -Eigenschaft eines Button im Formular zugewiesen wird oder die -Eigenschaft des Formulars im Code festgelegt DialogResult wird. Dieser Wert wird dann von dieser Methode zurückgegeben. Sie können diesen Rückgabewert verwenden, um zu bestimmen, wie die Aktionen verarbeitet werden, die im Dialogfeld aufgetreten sind. Wenn das Dialogfeld beispielsweise geschlossen wurde und der DialogResult.Cancel Wert über diese Methode zurückgegeben wurde, könnten Sie verhindern, dass Code nach dem Aufruf ShowDialog von ausgeführt wird.

Wenn ein Formular als modales Dialogfeld angezeigt wird, wird durch Klicken auf die Schaltfläche Schließen (die Schaltfläche mit einem X in der oberen rechten Ecke des Formulars) das Formular ausgeblendet und die DialogResult -Eigenschaft auf DialogResult.Cancelfestgelegt. Im Gegensatz zu moduslosen Formularen wird die Close -Methode nicht vom .NET Framework aufgerufen, wenn der Benutzer auf die Schaltfläche zum Schließen des Formulars eines Dialogfelds klickt oder den Wert der DialogResult Eigenschaft festlegt. Stattdessen ist das Formular ausgeblendet und kann erneut angezeigt werden, ohne eine neue Instanz des Dialogfelds zu erstellen. Da ein als Dialogfeld angezeigtes Formular ausgeblendet und nicht geschlossen ist, müssen Sie die Dispose -Methode des Formulars aufrufen, wenn das Formular von Der Anwendung nicht mehr benötigt wird.

Mit dieser Version der ShowDialog -Methode können Sie ein bestimmtes Formular angeben, das besitzer des angezeigten Dialogfelds sein soll.

Weitere Informationen

Gilt für: