Form.ShowDialog Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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 TextBox1
enthä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.Cancel
festgelegt. 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 TextBox1
enthä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.Cancel
festgelegt. 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.