ERLEDIGT
NEIN
NEIN
ANTWORTEN
8
8
ZUGRIFFE
3677
3677
EMPFEHLEN
-
Also ich vermute mal, dass es dafür eine ganz einfache lösung gibt, aber ich komm einfach nicht drauf.
Es ist ein einfaches Textfeld, in dem nur 1 Zahl stehen soll. das mit der einen Zahl hab ich schon duch MaxLength geklöst, aber ich kann trotzdem noch Buchstaben reinschreiben, was das Programm wohl nicht verkraften würde.
-
Sorry... hab den Beitrag "Textfeld" wohl wegen der sehr genauen Beschreibung übersehen!
-
27.07.04 00:55 #3
- Registriert seit
- Jun 2004
- Ort
- Koblenz (Rheinland-Pfalz)
- Beiträge
- 217
Mir fallen spontan da jetzt 2 Möglichkeiten ein:
1. Du überprüfst, wenn der Focus die TextBox verlässt, ob man die Eingabe in eine Zahl konvertieren kann. Wenn nicht, dann wird der Focus wieder auf die TextBox gesetzt und der Benutzer muss etwas anderes eingeben.
2. Du überprüfst Bei einem dem Keypress Event der TextBox mithilfer der übergebenen Parameter, ob das eingegebene Zeichen eine Zahl ist.
Wenn dem nicht so ist, dann wird kein Text ausgegeben, wenn doch, wird eben die Zahl in die TextBox geschrieben.
-
03.08.04 16:19 #4
- Registriert seit
- Aug 2004
- Beiträge
- 4
Du kannst das KeyPress Event dazu verwenden (siehe Code)
Dann prüfst du ab, ob was anderes als ne Nummer oder ein Steuerzeichen eingegeben wird (weil die Löschtaste ja noch gehen soll)
und fängst mit e.Handled=true das Tastenevent ab, damit es nicht mehr das Steuerelement erreicht. Wenn man nun was anderes als eine Nummer oder ein Steuerzeichen eingibt passiert 'nichts'
Gruß,
Christian
private void TextBox_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
if (Char.IsDigit(e.KeyChar) != true && Char.IsControl(e.KeyChar) != true)
e.Handled=true;
}
-
25.09.04 13:48 #5
Hi!
Ich habe beim obigen code folgende Fehlermeldung erhalten:
D:\C#\TD2005novem\NeuePerson.cs(343): Die Methode 'TD2005novem.NeuePerson.txtWSID_KeyPress(object, System.Windows.Forms.KeyPressEventArgs)' stimmt nicht mit dem Delegat 'void System.EventHandler(object, System.EventArgs)' überein.
Hat jemand eine Ahnung was da nicht passt?
Danke
MichiDon't hang and loose but run and win!
-
Hallo,
also ich würde beim Text-Changed-Event einfach überprüfen ob alle Zeichen Ziffern sind. Zeichen, die keine Ziffern sind werden einfach gelöscht. Das ist imho die einfachste und effektivste Lösung.
Gruß
Sir Raven
-
03.10.04 23:18 #7
- Registriert seit
- Nov 2001
- Ort
- Gießen
- Beiträge
- 4.091
Das denke ich nicht. Die meiner Erfahrung nach optimale und gängigste Lösung ist wirklich das KeyPress-Ereignis. Es ist nicht besonders effektiv, wenn man bei jeder Textänderung den gesamten String durchsucht und überprüft ob es sich um eine Zahl handelt. Obwohl das natürlich auch eine Möglichkeit ist.
Zitat von Sir_Raven
Das Problem mit der Fehlermeldung des Compilers sagt doch übrigens schon alles Wissenswerte aus, was man braucht, um den Fehler selbst zu korrigieren. Grundlegende Kenntnisse der C#-Programmierung vorausgesetzt."You could say that I was too lazy to calculate and so I invented the computer." -- Konrad Zuse
-
21.08.09 14:45 #8Fox33299729 Tutorials.de Gastzugang
Die Lösung von ChristianLattenkamp ist wohl die einzig gute und vollständige Lösung...
Danke!
-
Du musst beachten, dass wenn du nur das KeyPress-Event überprüfst, dann kann man immer noch mittels Copy-Paste-Tastenkombination nicht-numerische Zeichen einfügen. Ich würde also noch das TextChanged-Ereignis verwenden und darin nochmal überprüfen, ob der Text wirklich rein numerischer Natur ist.
hihi = -h²
Ähnliche Themen
-
Nummern Erweiterung
Von kirsy im Forum Relationale DatenbanksystemeAntworten: 2Letzter Beitrag: 22.10.08, 16:40 -
nummern der tasten?
Von DerSensenmann im Forum C/C++Antworten: 4Letzter Beitrag: 30.11.05, 19:58 -
(ASP.NET -VB) Textfeld nur Zahlen zulassen ?
Von KroaX_Net im Forum ASPAntworten: 3Letzter Beitrag: 25.09.05, 14:03 -
Nur bestimmte Tasten in einer Component zulassen (Textfeld)
Von Vatar im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 7Letzter Beitrag: 19.04.05, 13:36 -
Textfeld nur Zahlen zulassen
Von kevkev im Forum Javascript & AjaxAntworten: 12Letzter Beitrag: 18.12.04, 15:26





Zitieren
Login





