Announcement

Collapse
No announcement yet.

DialogResult "Cancel" abbrechen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • DialogResult "Cancel" abbrechen

    Hallo zusammen,

    ich habe in einem Formular eine Abbrechen-Schaltfläche mit der DialogResult-Eigenschaft "Cancel" - d. h. der Dialog wird mit Klicken auf die Schaltfläche und nach Abarbeiten des Codes in cmdAbbrechen_Click() automatisch geschlossen. Wie kann ich dieses automatische Schliessen in cmdAbbrechen_Click() für bestimmte Situationen unterdrücken (z. B. weil vom Benutzer geänderte Daten noch nicht gespeichert wurden)?

    Danke im voraus! Ingo

  • #2
    Hallo,
    beim <b>FormClosing</b>-Ereignis darf die Anwendung ein Veto einlegen:

    <div style="font-family: Courier New; font-size: 10pt; color: black; background: white; border-top: windowtext 1pt solid; padding-top: 0pt; border-left: windowtext 1pt solid; padding-left: 0pt; border-right: windowtext 1pt solid; padding-right: 0pt; border-bottom: windowtext 1pt solid; padding-bottom: 0pt;"><p style="margin: 0px;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; <span style="color: blue;">private</span> <span style="color: blue;">void</span> Form2_FormClosing(<span style="color: blue;">object</span> sender, <span style="color: teal;">FormClosingEventArgs</span> e)</p><p style="margin: 0px;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; {&nbsp;&nbsp;&nbsp; &nbsp;&nbsp; </p><p style="margin: 0px;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; e.Cancel = checkBoxVeto.Checked;</p><p style="margin: 0px;">&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; }</p></div&gt

    Comment


    • #3
      Perfekt - funktioniert. Vielen Dank! Ing

      Comment


      • #4
        Hallo.

        Noch ein Vorschlag:

        Nicht die Eigenschaft des Buttons (DialogResult) auf Cancel setzen sondern, wenn sowieso Code hinter den Button liegt:

        this.DialogResult = DialogResult.Cancel;

        verwenden.

        mfg Thoma

        Comment


        • #5
          Gute Idee - und sicher die elegantere Lösung, ja. Allerdings: Wenn ich die DialogResult-Eigenschaft des Abbrechen-Buttons auf "None" setze, den Dialog schliesse und wieder öffne (oder die Anwendung starte) ist sie danach wieder auf "Cancel" gesetzt!!!???!!! Warum das??? Grmpf!

          Danke trotzdem

          Comment


          • #6
            OK - das hat sich auch geklärt: Solange der Abbrechen-Button im Dialog als CancelButton definiert ist, lässt sich seine DialogResult-Eigenschaft nicht auf "None" setzen. Ob das Sinn macht weiss ich nicht - ich dachte bisher, ersteres bezieht sich nur auf das "Umleiten" von ESC auf den Button. Naja, machen wir das halt von Hand. :

            Comment

            Working...
            X