Entwickler-Ecke
WinForms - Eingabe wiederholen lassen
grisu2611 - Sa 13.10.07 13:33
Titel: Eingabe wiederholen lassen
Hallo,
ich mache eine Eingabe in eine TextBox und möchte diese Abfragen! Wenn die Abfrage nicht passt soll die TextBox gelöscht und die Eingabe wiederholt werden! Zusätzlich soll eine MessageBox erscheinen!
Habe diesen Code geschrieben aber irgendwie komme ich immer in eine Endlosschleife rein!
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24:
| private void prüfungStartBtn_Click(object sender, EventArgs e) { kanal = 0; if (box12V.Checked) { do { spannung = Convert.ToDouble(txtBoxPrüfSpg.Text); if (spannung <= 11.0 || spannung >= 14.3) { MessageBox.Show("Bitte Spannungsbereich von 11,1V und 14,3V einhalten", "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Warning); txtBoxPrüfSpg.Clear(); } } while (spannung <= 11.0 || spannung >= 14.3);
double spannung1 = spannung / 3.0; ausgabeSpg(kanal, spannung1); } } |
Danke für eure Hilfe im Vorraus
Christian S. - Sa 13.10.07 13:42
Hallo!
Du hast da einen Denkfehler drin. Du gibst dem Nutzer ja gar keine Zeit, eine Eingabe zu tätigen. Du müsstest, wenn man das so machen würde, auf die Nutzereingabe warten. Aber man wartet in WinForms nicht auf Benutzereingaben, sondern man reagiert auf Ereignisse.
Daher: Wenn die Eingabe nicht stimmt, eine Meldung ausgeben, Textfeld leeren und Methode komplett abbrechen. Der Nutzer klickt den Button dann erneut, sobald er die Eingabe gemacht hat.
Grüße
Christian
grisu2611 - Sa 13.10.07 13:48
ja danke!
habe auch gerade meinen fehler selber gefunden!
gebe einfach ein return unter dem löschen der TextBox ein und es funktioniert!
Danke!!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 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!