Hallo, ich habe die Suche bereits benutzt u nichts passendes gefunden. Google ebenfalls erfolglos.
Ich habe eine TextBox in der ich einen Betrag eingeben will. Über
private void txtB_AuktionStartpreis_KeyPress(object sender, KeyPressEventArgs e)
{
if (!('0' <= e.KeyChar && e.KeyChar <= '9' || e.KeyChar == ',')) e.Handled = true;
}
habe ich die Eingabe nur auf Zahlen u "Komma" begrenzt. Funktioniert alles wunderbar, aber was ist wenn der User zB
10,00,22 durch ein Versehen eingibt. Wie kann ich unterbinden, dass man 2 Kommas eingeben kann. Hat jemand einen Ansatz oder einen Snipet? Wäre echt klasse. big thx
wenn der Benutzer was falsches eingibt, bekommst beim parsen halt Exception.
Und dann kannste den benutzer ja nochma neu was einlesen lassen.
also:
try
{
double.Parse(textBox.Text)
}
catch(FormatException)
{
}
alternative könntest du auch TryParse benutzen...
Oder noch alternativer nimmst du ein NumericUpDown-Control und bist alle Sorgen diesbezüglich los...
@ Stu42
In welches Ereignis deiner Meinung nach?
@Borg
keine schlechte Idee. Gibt es auch die Möglichkeit die beiden Pfeile zu entfernen? Sieht ein wenig blöd aus.
@ingo
Bei MaskedTextBox ist es blöd, dass ich eine bestimmte länge haben muss
zB ######,##
also man muss alles ausfüllen. ist leider nicht so das Wahre.
Wer die NET-Doku durchlesen will, kann auch selbst Antworten auf seine Fragen finden:
Original von ZeroQool
@Borg
keine schlechte Idee. Gibt es auch die Möglichkeit die beiden Pfeile zu entfernen? Sieht ein wenig blöd aus.@ingo
Bei MaskedTextBox ist es blöd, dass ich eine bestimmte länge haben muss
UpDownBase.AutoScrollMargin-Eigenschaft
... ist nicht für die direkte Verwendung in Code bestimmt.
Ruft die Größe des AutoBildlaufrandes ab oder legt diese fest. DropDownStyle o.ä. gibt es offensichtlich wirklich nicht.
Aber ist dieser Hinweis an den Nutzer nicht hilfreich, dass er mit den Cursortasten Werte verändern kann?!
MaskedTextBox.Mask-Eigenschaft
0 = Ziffer, erforderlich
9 = Ziffer oder Leerzeichen, optional.= Ziffer oder Leerzeichen, optional.
Was willst Du mehr?
Jürgen
naja aber die maskedTextBox ist in der hinsicht nicht optimal, weil man dort nur eine begrenzte anzahl von zahlen definieren kann.
ich hab die maskedTextBox auch noch nie benutzt aber auf den ersten blick sieht es jedenfalls so aus.