C# - maskedTextBox - Eingabe Dezimalzahl
lima-city → Forum → Programmiersprachen → Programmieren mit .NET & Mono
backen
diverse schwierigkeiten
feld
gestatten
hilfe
komma
pfeiltaste
problem
programm
programmieren
sender
stelle
stellen
system
taste
tasten
text
verwenden
windows
zahl
-
Hallo,
bin dabei ein altes Clipper-Programm auf c# neu zu programmieren. Nun zu meinem Problem ich möchte in einem Feld (maskedTextBox) dem User gestatten eine beliebige 4stellige Zahl (max. 9999,99) mit oder ohne Komma-Stelle einzugeben.
Leider stoße ich ich hierbei auf diverse Schwierigkeiten, wie z.B. Komma nach 2 Stellen einzugeben (Fließkomma).
Wäre dankbar für die Hilfe.
Hab eine Lösung gefunden:
Textbox verwenden und TextAlign auf "Right"
void textBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)
{
if (!((e.KeyValue >= 48 && e.KeyValue <= 57) || //Prüfung auf Tasten 0-9
(e.KeyValue >= 96 && e.KeyValue <= 105) || //Prüfung auf NumPad 0-9
(e.KeyCode == Keys.Back || //Rücktaste
e.KeyCode == Keys.Left || //Pfeiltasten
e.KeyCode == Keys.Right ||
e.KeyCode == Keys.Delete) || //Entf-Taste
(e.KeyValue == 188 || e.KeyValue == 110 && !((TextBox)sender).Text.Contains(",")))) //Komma, nur einmalig zulassen
{
e.SuppressKeyPress = true; //KeyPress unterdrücken
e.Handled = true;
}
}
Beitrag zuletzt geändert: 26.1.2011 11:55:37 von mcal -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage