Entwickler-Ecke
WinForms - zweite Form schließt sich nicht
SabineH - Mi 06.06.07 06:30
Titel: zweite Form schließt sich nicht
Hi,
kann mir mal jemand verraten warum sich meine zweite Form zwar öffnen aber nicht schließen lässt. Die checkBox1 befindet sich auf meiner Form1.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| privat void checkBox1_CheckedChanged(object sender, EventArgs e) { Form2 F2 = new Form2();
If(checkBox1.Checked == true) { F2.Show(); } else { F2.Close(); } } |
Gebt bitte mal eine Antwort,
Danke
Sabine
Moderiert von
UGrohne: Beitragsformatierung überarbeitet.
JüTho - Mi 06.06.07 08:14
Hallo Sabine,
innerhalb Deiner Ereignismethode wird immer zuerst F2 erzeugt. Beim ersten CheckedChanged mit (Checked) wird F2 erzeugt und angezeigt. Beim zweiten CheckedChanged mit (!Checked) wird ein weiteres F2 (!) erzeugt und sofort wieder geschlossen; das erste F2 bleibt offen.
Zur Lösung musst Du F2 aus der Ereignisbehandlung herausnehmen und Dich nur auf das Erzeugen/Öffnen/Schließen beschränken. Außerdem brauchst Du Sicherheitsabfragen:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| private Form2 F2; private void checkBox1_CheckedChanged(object sender, EventArgs e) { if(checkBox1.Checked) { F2 = new Form2(); F2.Show(); } else { F2.Close(); } } |
Gruß Jürgen
PS. Bitte Code markieren, das liest sich besser; dazu "Bereiche" aktivieren.
PS. if (checked == true) ist doppelt gemoppelt und kann auch zu Fehlinterpretationen führen, siehe
[Tipp] Anfängerfehler == true / == false [
http://www.mycsharp.de/wbb2/thread.php?threadid=17536]
SabineH - Mi 06.06.07 08:49
Hallo Jürgen,
vielen Dank für Deine Antwort. Jetzt funktioniert es.
Schöne Woche noch und vielleicht bis bald
Gruß
Sabine
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!