Gewusst wie: Schließen von Dialogfeldern und Speichern von Benutzereingaben
Sie können die Art und Weise, wie ein Dialogfeld geschlossen wird, entweder zur Entwurfszeit oder zur Laufzeit festlegen. Zur Entwurfszeit können Sie die DialogResult-Eigenschaft für alle Button-Steuerelemente in einem Dialogfeld festlegen. Zur Laufzeit können Sie die DialogResult-Eigenschaft festlegen, damit Sie Benutzerreaktionen dynamisch behandeln können.
Tipp
Je nach den aktiven Einstellungen oder der Version unterscheiden sich die Dialogfelder und Menübefehle auf Ihrem Bildschirm möglicherweise von den in der Hilfe beschriebenen. Klicken Sie im Menü Extras auf Einstellungen importieren und exportieren, um die Einstellungen zu ändern. Weitere Informationen finden Sie unter Arbeiten mit Einstellungen.
So legen Sie die DialogResult-Eigenschaft eines Steuerelements zur Entwurfszeit fest
Klicken Sie auf das Button-Steuerelement, dessen Eigenschaft festgelegt werden soll.
Wählen Sie im Eigenschaftenfenster die DialogResult-Eigenschaft aus, und öffnen Sie die Liste der für die Eigenschaft verfügbaren Einstellungen.
Legen Sie fest, welches Ergebnis das Dialogfeld haben soll.
Sie können das Ergebnis des Dialogfelds auch für eine andere Benutzeraktion konfigurieren als für das Klicken auf ein Button-Steuerelement. Falls das Dialogfeld keine Schaltflächen zum Schließen des Dialogfelds enthält, können Sie festlegen, dass sein Ergebnis zur Laufzeit ermittelt wird.
So legen Sie die DialogResult-Eigenschaft eines Steuerelements oder Formulars programmgesteuert fest
Navigieren Sie zu dem Ereignishandler bzw. zu der Methode, dessen oder deren DialogResult-Eigenschaft festgelegt werden soll.
Erstellen Sie ähnlichen Code wie im folgenden Codebeispiel.
Public Sub InformationProcessed() ' This code will set the DialogResult for a form. Me.DialogResult = DialogResult.Yes ' OR ' This code will set the DialogResult for a button. Button1.DialogResult = DialogResult.No End Sub
private void InformationProcessed() { // This code will set the DialogResult for a form. DialogResult = DialogResult.Yes; // OR // This code will set the DialogResult for a button. button1.DialogResult = DialogResult.No; }
private: void InformationProcessed() { // This code will set the DialogResult for a form. this->DialogResult = DialogResult::Yes; // OR // This code will set the DialogResult for a button. button1->DialogResult = DialogResult::No; }
Obwohl das Dialogfeld durch das Festlegen der DialogResult-Eigenschaft automatisch geschlossen wird, kann das Click-Ereignis des Steuerelements weiterhin behandelt werden, sodass das Dialogfeld erst geschlossen wird, nachdem der Code des Ereignishandlers verarbeitet wurde. Sie haben die Möglichkeit, das Schließen des Dialogfelds während der Behandlung des Click-Ereignisses zu verhindern.
So verhindern Sie, dass das Dialogfeld durch die DialogResult-Eigenschaft geschlossen wird
Erstellen Sie im Ereignishandler ähnlichen Code wie im folgenden Codebeispiel.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Me.DialogResult = DialogResult.None End Sub
private void button1_Click(object sender, System.EventArgs e) { DialogResult = DialogResult.None; }
private: void button1_Click(System::Object ^ sender, System::EventArgs ^ e) { this->DialogResult = DialogResult::None; }
Tipp
Mithilfe des Closing-Ereignisses des Formulars können Sie auch das Schließen des Dialogfelds beenden.
Siehe auch
Aufgaben
Gewusst wie: Erstellen von Dialogfeldern zur Entwurfszeit
Gewusst wie: Abrufen des Ergebnisses für Dialogfelder
Konzepte
Benutzereingaben in Dialogfelder