ERLEDIGT
JA
JA
ANTWORTEN
8
8
ZUGRIFFE
5269
5269
EMPFEHLEN
-
12.02.08 10:39 #1Java_Neuling Tutorials.de Gastzugang
Morgen!
Auf alle fälle hab ich ein Textfeld in das ich nur Zahlen eingeben lassen möchte das klappt auch wunderbar das Komma ist auch schon eingebunden (der Code ist aus dem OpenBook von Galileo Computing) jetzt hab ich die ganze zeit versucht die Löschen-Taste zuzulassen kriegs aber nicht hin
die Entfernen-Taste funktioniert aber die Löschen-Taste geht ums verrecken nicht. (Ich hoffe das ich den Code richtig verstehe
)
Ich hoffe ihr könnt mir helfen... Danke im voraus!Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
'Diese Zeilen überprüfen die Eingabe im tf_Einwurf während der Eingabe 'numeric' macht dies nach dem das Ereignis ausgelöst worden ist Private Sub tf_Einwurf_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles tf_Einwurf.KeyPress Select Case Asc(e.KeyChar.ToString) Case Asc(",") If Me.tf_Einwurf.Text.IndexOf(",") >= 0 Then 'Wenn ein Komma schon vor kommt dann verhindere das 2 e.Handled() = True End If Case Is < Asc("0") e.Handled() = True 'Eingaben die Kleiner 0 sind verhindern Case Is > Asc("9") e.Handled() = True 'Eingaben die größer 9 sind verhindern Case Else e.Handled() = False 'Sonst ist alles erlaubt End Select End Sub
MfG
Java_Neuling
-
12.02.08 11:42 #2
Moin moin,
weil ich gerade kein Visual Studio zur Hand habe, musste ich mal mein Google bemühen.
Also, mit KeyPress geht das, was du willst, laut MSDN nicht. Du bekommt nur das KeyChar.
Verwende stattdessen das KeyDown bzw. KeyUp Event. Die KeyEventArgs liefern dir einen KeyCode, diesen könntest du verwenden um ebenfalls auf die Rücktaste und gezielt auf die Delete (Entf) Taste zu reagieren.
-
12.02.08 13:05 #3Java_Neuling Tutorials.de Gastzugang
Hi!
hmm ich hab des jetzt mal so probiert wie ich des verstanden hab und hab mir des mit KeyUp geschrieben aber dann wird irgendwie garnichts mehr überprüft
Bin totaler VB Neuling
Hättest vllt nicht ein Stück Code für mich an dem ich mich orientieren bzw auf dem ich aufbauen könnte
MfG
Java_Neuling
-
12.02.08 13:19 #4
Falls mir niemand zuvor kommt, werde ich heute Abend ein wenig Code zu diesem Thema posten.

Bis dahin versuche es mal mit dem KeyDown-Ereignis, du willst ja die Eingabe verhindern, bevor das Zeichen in das Textfeld geschrieben wird.Geändert von FwDonnerbalken (12.02.08 um 13:39 Uhr) Grund: Meine Rechtschreibung! Ne, ne!
-
13.02.08 18:45 #5
So, leider einen Tag zu spät und doch komplexer als ich zunächst annahm.
Code csharp:1 2 3 4 5 6 7 8 9 10 11 12 13 14
private void textBox1_KeyDown(object sender, KeyEventArgs e) { if (!((e.KeyValue >= 48 && e.KeyValue <= 57) || //Prüfung auf Tasten 0-9 (e.KeyValue >= 96 && e.KeyValue <= 105) || //Prüfung auf NumPad 0-9 (e.KeyCode == Keys.Back || //Rücktaste e.KeyCode == Keys.Left || //Pfeiltasten e.KeyCode == Keys.Right || e.KeyCode == Keys.Delete) || //Entf-Taste (e.KeyValue == 188 && !((TextBox)sender).Text.Contains(",")))) //Komma, nur einmalig zulassen { e.SuppressKeyPress = true; //KeyPress unterdrücken e.Handled = true; } }
-
18.02.08 14:45 #6Java_Neuling Tutorials.de Gastzugang
Hey!
erst mal danke für deine Mühe!
was mir nur grad auffällt das bei mir alles mit Sub ist und bei dir mit Private void außerdem hab ich in meinem ganzen Code noch keine geschweifte Klammer (glaub ich!)
Falls die Frage dumm ist tuts mir leid bin seit ca 2 Wochen an VB.Net aber dein Code passt irgendwie nicht zu meinem kannst du mir vllt sagen wieso?
Deiner erinnert mich mehr an Java
MfG
Java_Neuling
-
18.02.08 16:01 #7
Hi,
sorry, habe ich nicht bemerkt, das war C-Sharp Code ich habe den mal eben durch nen Code Converter gejagt und dabei kam das hier raus.
Sollte eigentlich in der KeyDown-Methode laufen.
Code vb:1 2 3 4
If Not ((e.KeyValue >= 48 AndAlso e.KeyValue <= 57) OrElse (e.KeyValue >= 96 AndAlso e.KeyValue <= 105) OrElse (e.KeyCode = Keys.Back OrElse e.KeyCode = Keys.Left OrElse e.KeyCode = Keys.Right OrElse e.KeyCode = Keys.Delete) OrElse (e.KeyValue = 188 AndAlso Not DirectCast(sender, TextBox).Text.Contains(","))) Then e.SuppressKeyPress = True e.Handled = True End If
-
das ist klar weil den Code den Donnerbalken gepostet hat ist C# und du brauchst VB.Net.
am Besten du schreibst es einfach manuell in deinen Code rein (nicht mit Copy&Paste) lässt die ganzen geschweiften Klammern weg und auch die ";".
Zur Not kannst du auch noch einen C# to VB.Net Translator googeln. Ich weiß aber nicht ob die zu 100% richtige Ergebnisse liefern.
Bei der ersten Methode lernst du defintiv mehr über deinen Code
Ich hoffe ich konnte dir weiterhelfen.
mFg
\\EDIT: mist zu spät
-
19.02.08 11:42 #9Java_Neuling Tutorials.de Gastzugang
Hi!
vielen vielen Dank für die Hilfe endlich klappt es


MfG
Java_Neuling
Ähnliche Themen
-
Tastatur Eingaben sperren
Von Java_Neuling im Forum Swing, Java2D/3D, SWT, JFaceAntworten: 2Letzter Beitrag: 20.03.08, 07:54 -
User - Eingaben in einem Applet sperren?
Von alfi82 im Forum JavaAntworten: 5Letzter Beitrag: 05.03.08, 19:16 -
Tastatur sperren
Von dobermant im Forum Visual Basic 6.0Antworten: 2Letzter Beitrag: 03.12.06, 22:26 -
c++ tastatur eingaben
Von immnn im Forum C/C++Antworten: 2Letzter Beitrag: 21.05.05, 01:38 -
Tastatur sperren
Von eierfeile im Forum Javascript & AjaxAntworten: 3Letzter Beitrag: 30.09.03, 14:59





Zitieren
Login





