Button angeklickt, wie kann ich Ausführung vom Code dahinter vorzeitig beenden?
-
Hallo,
ich habe einen ganz normalen Button:
private: System::Void btnCheck_Click(System::Object^ sender, System::EventArgs^ e)
Aus einer Textbox frage ich jetzt einen Wert ab, und falls der Vergleich ein false zurückgibt, sollte der weitere Code nicht ausgeführt werden.
Das Fenster soll offen bleiben, ich will nur die Ausführung des weiteren Codes stoppen.Wie kann ich die Ausführung sofort beenden?
-
Beiträge Posten üben wir aber bitte noch ein wenig.
Was willst Du machen ?
if(irgendwas == false) return; weiterer Code
-
Nobody is perfect...
Den Code habe ich jetzt in der else-Schleife drin,
dann wird er ja nur ausgeführt, wenn mein Vergleich false zurückgibt (in dem Fall darf der Code abgearbeitet werden).
[EDIT: ]Ich sehe gerade, hier widerspreche ich meiner in der Frage gestellten Aussage. Es ist eine Oder-Schleife, daher ist true = keine Ausführung erwünscht! [EDIT/]Die Frage kam beim Experimentieren mit
this->Close();
auf, da ich eigentlich auf ner Suche einer Funktion ähnlich des "Exit Sub" von VB war.
Einfach ein return rein - manchmal sieht man den Wald vor lauter Bäumen nicht.
Danke
-
Meinst du so?
if (irgendwas == false) { } else { weiterer Code }
So geht es doch nur musst du halt den weiteren Code in den else Zweig packen. Und danach nichts mehr.
-
Was spricht denn gegen ein:
if(irgendwas == true) return; weiterer Code
(Schauder, kann man ja nich ansehen den leeren if zweig)
-
So, da hab ich jetzt auch mal ne Frage dazu...
Dasreturn
beendet in diesem Fall ja nur die Methode des Button_Clicks, oder?
Mein Problem ist derzeit, dass ich auf Button_Click ne recht komplexe Berechnung starten will. Die hab ich aber in ner weiteren Methode untergebracht. In der Berechnungsmethode wird nun zB. auf die richtige Eingabe der Daten bzw. den Berechnungen geprüft. sind die Berechnungen nicht gut, soll abgebrochen werden, also etwa gemäss folgendem Pseudo-Code:
private: System::Void btnCheck_Click(System::Object^ sender, System::EventArgs^ e){ BerechnungStarten(Objekt){ ... ... if (Berechnung == Bockmist) alles abbrechen, auch Button_Click; else weiterrechnen; }
Jetzt wär meine Frage, ob ein
return
nur meine Berechnung beendet (was ich denke), oder auch das Button_Click-Ereignis???
Merci schon mal!