Hallo zusammen,
ich habe eine kleine Anwendung über die 43 Energiezählerwerte erfasst werden sollen. Die Eingabe der Zählerstände erfolgt manuell.
Bei der Eingabe würde ich gerne prüfen, dass nur Zahlen im Format double eingegeben werden.
Ich habe dazu eine Lösung, bin damit aber nicht zufrieden da ich den Code mehrfach leicht abgeändert benutzen müsste.
Ich nutze derzeit das TextChanged-Event und prüfe dann für jede Eingabe. Das scheint mir aber sehr umständlich, da ich das für alle 43 Zähler separat machen müsste. Bei Änderungen müsste ich dann wieder alle Zähler anfassen....das scheint mir etwas überholt zu sein.
Gibt es vielleicht einen eleganteren Weg, die Eingaben z.B. über eine allgemeine Funktion zu prüfen und dieser das zu prüfende Controll zu übergeben?
ich habe eine kleine Anwendung über die 43 Energiezählerwerte erfasst werden sollen. Die Eingabe der Zählerstände erfolgt manuell.
Bei der Eingabe würde ich gerne prüfen, dass nur Zahlen im Format double eingegeben werden.
Ich habe dazu eine Lösung, bin damit aber nicht zufrieden da ich den Code mehrfach leicht abgeändert benutzen müsste.
Ich nutze derzeit das TextChanged-Event und prüfe dann für jede Eingabe. Das scheint mir aber sehr umständlich, da ich das für alle 43 Zähler separat machen müsste. Bei Änderungen müsste ich dann wieder alle Zähler anfassen....das scheint mir etwas überholt zu sein.
Gibt es vielleicht einen eleganteren Weg, die Eingaben z.B. über eine allgemeine Funktion zu prüfen und dieser das zu prüfende Controll zu übergeben?
C#-Quellcode
- protected void txtbxTrafoHauptzähler1_TextChanged(object sender, EventArgs e)
- {
- bool ok = false;
- double temp;
- ok = Double.TryParse(txtbxTrafoHauptzähler1.Text,out temp);
- if (ok)
- {
- txtbxTrafoHauptzähler1.BackColor = Color.LightGreen;
- txtbxTrafoHauptzähler2.Focus();
- }
- else
- {
- txtbxTrafoHauptzähler1.BackColor = Color.Red;
- txtbxTrafoHauptzähler1.Focus();
- }
- }
- protected void txtbxTrafoHauptzähler2_TextChanged(object sender, EventArgs e)
- {
- bool ok = false;
- double temp;
- ok = Double.TryParse(txtbxTrafoHauptzähler2.Text, out temp);
- if (ok)
- {
- txtbxTrafoHauptzähler2.BackColor = Color.LightGreen;
- txtbxTrafoPH3.Focus();
- }
- else
- {
- txtbxTrafoHauptzähler2.BackColor = Color.Red;
- txtbxTrafoHauptzähler2.Focus();
- }
- }
- protected void txtbxTrafoPH3_TextChanged(object sender, EventArgs e)
- {
- bool ok = false;
- double temp;
- ok = Double.TryParse(txtbxTrafoPH3.Text, out temp);
- if (ok)
- {
- txtbxTrafoPH3.BackColor = Color.LightGreen;
- txtbxLagerhalleHauptzähler.Focus();
- }
- else
- {
- txtbxTrafoPH3.BackColor = Color.Red;
- txtbxTrafoPH3.Focus();
- }
- }