Entwickler-Ecke
WinForms - Verhalten von DialogResult
erfahrener Neuling - Di 25.10.16 11:08
Titel: Verhalten von DialogResult
Hallo,
gerade hänge ich an einem (sonst funktionierenden) Problem fest, wobei sich mir das Verhalten dabei nicht erschließt.
Sachverhalt:
Ich habe 2 Buttons. Wird Button a geklickt, wird ein Click-Event ausgelöst und das Form-DialogResult auf
Ok gesetzt.
Wird Button b geklickt, wird ein anderes Click-Event ausgelöst. In diesem ist das DialogResult dann unerwarteter Weise
None, obwohl ich das nirgendwo sonst zuweise und es eigentlich
Ok sein müsste.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| private void buttonA_Click(object sender, EventArgs e) { this.DialogResult = DialogResult.OK; }
private void buttonB_Click(object sender, EventArgs e) { MessageBox.Show(this.DialogResult.ToString()); } |
Da das normalerweise Standardzeug ist, hat's mich doch ganz schön verwundert. Hat sich irgendwas an Form.DialogResult geändert? Vielleicht mit neuem Update?
Ralf Jansen - Di 25.10.16 12:03
Button.DialogResult setzen schließt aber die Form. Er will ja scheinbar DialogResult weiterhin auf der existierenden Form auswerten. Wir könne uns eher fragen was das soll. Etwas das DialogResult heißt auf diesem Dialog weiterhin auswerten zu wollen?
Edit : Vor dem Ausführen von Button.Click wird vom Button Form.DialogResult mit Button.DialogResult überschrieben.
erfahrener Neuling - Di 25.10.16 12:14
Zitat: |
Button.DialogResult setzen schließt aber die Form |
Ok, das wusst ich noch nicht. Ich dachte, man kann es wie ein öffentliches Enum setzen und dann jederzeit wie eine Variable auswerten.
Dass das setzen die Form autom. schließt, ist mir davor gar nicht aufgefallen. Wenn ich's mir recht überlege, war dies auch nicht mein Standard-Vorgehen, weshalb ich mich dann doch wunderte.
Vielen Dank dafür!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!