eingabefeld auf zahlen und komma und tausendertrennzeichen beschränken
-
hallo, ich habe mir eine kleine anwendung gebastelt, die
mittels[c#]
string.format("{0:c}", decValue);
[/c#]einem Eingabefeld zuweist - was auch wunderbar funktioniert.
nun möchte ich beim speichern diese Werte aus der Textbox auslesen und wieder in nach decimal konvertieren.
mit
[c#]
Decimal dec = Convert.ToDecimal(textBoxCurr.Text);
[/c#]bekomme ich folgende Fehlermeldung:
Eine nicht behandelte Ausnahme des Typs 'System.FormatException' ist in mscorlib.dll aufgetreten.Zusätzliche Informationen: Die Eingabezeichenfolge hat das falsche Format.
formatiere ich das Ding mit "{0:n}" funktioniert alles wunderbar.
kann mir jemand sagen wie ich das lösen kann ?Noch eine Frage:
wie kann ich der textbox "beibringen", dass nur zahlenwerte erlaubt sind ?
(natürlich auch komma, tausendertrennzeichen backspace, cursor - aber keine sondertasten und buchstaben)Danke !
-
Nur Zahlen, Backspace, Komma und Punkt zulassen.
private void textBox_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e) { if ("1234567890\b,.".IndexOf(e.KeyChar.ToString()) < 0) { e.Handled = true; } }
-
Hey danke !
-
über die zwischenablage kann man trotzdem was einfügen oder?