Textbox - Allgemeine Formatierung

05/02/2009 - 06:23 von Oliver Stippe | Report spam
Hallo,

gibt es eine Übersicht über

Textbox
jetzt gebe ich ein
Text, Datum, Zahl
Diesen Textboxinhalt weise ich Variablen zu.

stufen = Convert.ToUInt32(txtStufen.Text)
laenge = Convert.ToDouble(txtLaenge.Text)

Jetzt habe ich eine Textbox und möchte nur
Zahlen mit . und , erlauben
Was ist zu tun? Sprich eine Art Formatierung wie #.##

Ist das richtig?
txtStufen.Text = 3
oder muss das immer als string sein?
txtStufen.Text = "3"

Danke für Tipps und Links.

Grüße Oliver
 

Lesen sie die antworten

#1 Peter Fleischer
05/02/2009 - 06:56 | Warnen spam
"Oliver Stippe" schrieb im Newsbeitrag
news:%
...
Textbox
jetzt gebe ich ein
Text, Datum, Zahl



Hi Oliver,
wichtig ist, sich eine typgerechte Arbeitsweise anzugewöhnen. Ein
TextBox-Steuerlement arbeitet in der Text-Eigenschaften immer nur mit
Zeichenketten. Das bedeutet, dass der Anwender immer nur Zeichen eingibt.
Erst das Programm interpretiert diese Zeichen.

Diesen Textboxinhalt weise ich Variablen zu.

stufen = Convert.ToUInt32(txtStufen.Text)
laenge = Convert.ToDouble(txtLaenge.Text)



Hier nehme ich lieber TryParse und weise den Bediener ggf. darauf hin, dass
er unpassende Zeichen eingegeben hat.

Jetzt habe ich eine Textbox und möchte nur
Zahlen mit . und , erlauben
Was ist zu tun? Sprich eine Art Formatierung wie #.##



Und wenn der Bediener Zahlen in einer wissenschaftlichen Darstellung eingibt
(z.B. durch Kopieren), was soll dann passieren?

Ist das richtig?
txtStufen.Text = 3



Das Literal 3 ist eine Zahl und kein Text. Mit Option Strict On bringt diese
Zuweisung bereits bem Kompilieren Fehler.

oder muss das immer als string sein?
txtStufen.Text = "3"



Ja!

Bevormunde den Bediener nicht in seiner Kretivitàt, sondern weise ihn nur
darauf hin, dass sich die eingegebenen Zeichen nicht in den vom Programm
geforderten Typ konvertieren lassen, z.B. mit einem der TextBox zugeordneten
ErrorProvider. Es kann z.B. sein, dass der Bediener den Eingabevorgang
unterbrechen muss, weil eine andere wichtige Aufgabe schnell zu erledigen
ist. In diesem Fall würde ggf. ein Fehler gemeldet, obwohl die Eingabe noch
nicht abgeschlossen wurde.

Viele Grüsse
Peter

Ähnliche fragen