Der Kalender läuft soweit, ich bin grade an den letzten Anspassungen dran und wollte gerne bei der Zeitangabe eine Grenze setzen, sodass der Anwender nicht zb 25 angeben kann (weils logischerweise nicht 25.00 Uhr gibt
).
Als Maximum und Minimum habe ichs mal mit Numericupdowns versucht, wobei ich normale Textboxen schöner finde.
Wenn der Benutzer also etwas falsches eingibt, soll das Feld geleert werden und eine Message Box erscheint.
|
C#-Quelltext
|
1
2
3
4
5
|
if (Convert.ToInt32(textBoxUhrzeitStundeVon.Text) > 24)
{
textBoxUhrzeitStundeVon.Clear();
MessageBox.Show("Zeitangabe muss zwischen 1 und 24 Stunden liegen");
}
|
Der Codeblock befindet sich in einem KeyPress Event, gekoppelt an der jeweiligen Textbox. Die Textbox soll also während der Eingabe überprüfen, ob die Bedingung eingehalten wird.
Wenn die Methode aufgerufen wird, erscheint folgende Fehlermeldung:
FormatException
Ein Ausnahmefehler des Typs "System.FormatException" ist in mscorlib.dll aufgetreten.
Zusätzliche Informationen: Die Eingabezeichenfolge hat das falsche Format.
Kann ich also einer Textbox keinen maximalen Wert zuweisen ?
Natürlich könnte ich auch sämtliche mögliche Zahlen in die Bedingung schreiben. Aber bei 60 Minuten wäre das ein großer Block, recht "unsauber", vielleicht kennt ja jemand eine elegantere Lösung ?