TextBox auf 2 Zeichen Eingabe beschränken
Hallo Leute,
mich beschäftigt gerade eine simple Sache, zu er ich leider keine Infos finden kann.
Ich habe in meiner App eine TextBox bei der ich die Eingabe auf zwei Zeichen (Ziffern) beschränken möchte. Damit nur Ziffern eingegeben werden können, habe ich den InputScope entsprechend so eingestellt, dass nur Ziffern zur Eingabe in der OnScreen-Tastatur angeboten werden.
Ich finde aber nirgendwo einen Hinweis, wie ich die tatsächliche Eingabelänge für die TextBox auf 2 Zeichen kürzen kann. Es sollen nur zwei Zahlen eingegeben werden können.
Hat jemand einen Tipp für mich?
Grüße
Detlef
AW: TextBox auf 2 Zeichen Eingabe beschränken
Das Textchange oder KeyUp event der Textbox benutzen und dort überprüfen, ob die Länge schon erreicht ist oder nicht
AW: TextBox auf 2 Zeichen Eingabe beschränken
Würde auch das TextChange Event benutzen. Dann mit textBox1.Text.Length zählen lassen, wenn es mehr als 2 sind eine MessageBox anzeigen in der drinsteht dass man nur 2 zeichen angeben darf.
AW: TextBox auf 2 Zeichen Eingabe beschränken
Eine MessageBox finde ich ein wenig unpassend. Da diese dann oft angezeigt wird und der User jedes Mal okey drücken muss.
AW: TextBox auf 2 Zeichen Eingabe beschränken
Danke für den Hinweis. Könnt ihr mir einen Tipp geben, wo ich dazu eine Dokumentation finde?
AW: TextBox auf 2 Zeichen Eingabe beschränken
Was ist dir denn noch unklar? Hast du es schon mal ausprobiert?
AW: TextBox auf 2 Zeichen Eingabe beschränken
Ich probiere das heute Abend mal aus, die Idee mit der Message Box finde ich gar nicht schlecht!
Frage: Welche Bücher könnt Ihre einem Windows Phone 7 Einsteiger empfehlen? Gibt es ein gutes oder muss man wegen XAML und C# mehrere Bücher anschaffen?
AW: TextBox auf 2 Zeichen Eingabe beschränken
Meine Meinung zu der MessageBox habe ich schon kund gegeben und bin wahrscheinlich nicht der einzige der dies problematisch findet. Falls es nicht eindeutig sein sollte, dass dort nur 2 Zahlen erwünscht sind, sollte man am besten dies irgendwie angeben.
Zu Büchern: Hier gibt es eine gute Sammlung
Ich selbst habe mir dieses Buch als Nachschlagewerk besorgt. Kann ich jedoch nicht sehr empfehlen. Ich habe viel selbst gelernt und bei einem Problem versucht die Lösung zu finden.
Falls du noch keine Ahnung von C# hast, kann ich dir dieses Buch empfehlen.
AW: TextBox auf 2 Zeichen Eingabe beschränken
Wieso nicht einfach das MaxLength-Property setzen? Dann kann er nur 2 Stellen eingeben:
Code:
<TextBox MaxLength="2" />
Ansonsten würde ich mich auch auf TextChanged hängen und sobald es mehr als 2 Stellen sind dann halt die Textbox rötlich hinterlegen oder dahinter ein Rufzeichen einblenden (also bei nem Textblock mit dem Rufzeichen drin Visibility von Collapsed auf Visible ändern).
AW: TextBox auf 2 Zeichen Eingabe beschränken
Zitat:
Zitat von
StevieBallz
Wieso nicht einfach das MaxLength-Property setzen? Dann kann er nur 2 Stellen eingeben:
Code:
<TextBox MaxLength="2" />
Damit habe ich es dann genau so hinbekommen wie ich es mir gedacht hatte. Wo finde ich den Beschreibungen zu den Propertys?
Ich suche schon einige Zeit.
Danke für die Tipps! Die haben mich alle (!) ein gutes Stück weiter gebracht!!!
AW: TextBox auf 2 Zeichen Eingabe beschränken
AW: TextBox auf 2 Zeichen Eingabe beschränken
Ein Problem sehe ich da aber noch mit den einfachen Lösungen, man kann nämlich via paste leicht was reinschummeln aus dem Puffer.
-AH-
AW: TextBox auf 2 Zeichen Eingabe beschränken
Das sollte mit dem setzen von MaxLength nicht gehen. Wenn doch ist das ein Bug im Framework. Das glaube ich eher nicht
AW: TextBox auf 2 Zeichen Eingabe beschränken
OK sorry; ich meine da nicht so sehr das Längenproblem als die Tatsache, daß nur Ziffern eingegeben werden sollen. Über die Tastatur kann man das alleine nicht beschränken wegen der Möglichkeit Texte per Paste einzufügen.
AW: TextBox auf 2 Zeichen Eingabe beschränken
Stimmt, Input-Masks gehen da nicht. Aber wenn der User da Text reinpastet dann würde ich das einfach abfangen und drunter nen Text einblenden wie: fehlerhafte Eingabe, bitte nur Ziffern eingeben (wenn das parsen daneben geht, evtl. zusätzlich noch nen Sonderfall damit das nicht kommt wenn das Textfeld leer ist).
AW: TextBox auf 2 Zeichen Eingabe beschränken
So ein simples Eingabefeld kann ne ganze Menge Arbeit verursachen wenn der Anwender nicht "NUR" die gewünschten Angaben macht. Ich habe mittlerweile mein Eingabefeld so umgestellt, dass der Anwender den gewünschten numerischen Wert über einen Slider angibt. Das spart sehr viele Abfangmethoden ein. Danke nochmals für die tolle Hilfe!