aline234 Geschrieben 24. Januar 2007 Teilen Geschrieben 24. Januar 2007 Morgen, in meinem KeyDown-Event möchte ich nur auf Eingaben von Ziffern und Zeichen (also Buchstaben, Satzzeichen, ...) reagieren, nicht aber auf Eingaben wie STRG, F1, ESC etc. Allerdings mächte ich mir ein ellenlanges Case ersparen, in dem ich alle möglichen Keys einzeln angebe. Gibt es für diesen Fall eine etwas kürzere Lösung? Vielleicht sowas wie IsNumeric oder solche Späße? Vielen Dank, Aline Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
MarkusLe Geschrieben 24. Januar 2007 Teilen Geschrieben 24. Januar 2007 Was genau hast Du mit dem KeyDown Event vor? Falls es ne Textbox sein sollte welche nur Alphanumerische Zeichen zulässt, solltest Du auch daran denken die diversen Mouse Events abzufange und sie vor Copy Paste zu sichern. Für das Filtern werde ich Dir Keine direkte Antwort geben, da solltest Du Dir einfach mal mit F1 die Hilfe anschauen ... Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
aline234 Geschrieben 24. Januar 2007 Autor Teilen Geschrieben 24. Januar 2007 Es handelt sich um keine Textbox sondern um TextControl (hier mal ein paar Infos, falls du es nicht kennst: klick). So und bei einer bestimmten Aktion innerhalb des Programms soll TextControl bei der Texteingabe eben anders reagieren. Deshalb benutze ich dafür das KeyDown-Event. Da dieses Event aber bei jeder Taste reagiert nützt mir das wenig, wenn ich nicht will, dass es bei jeder Taste reagiert Es soll nur bei Texteingaben reagieren, also sämtliche Buchstaben, Satzzeichen und Ziffern. Nicht aber z.B. die STRG-taste, die ALT-Taste, Bild ab, Bild auf, alle F-Tasten, usw. usf. Jetzt habe ich das alles in ein Case gejagt und die Liste is dementsprechend lang. Meine konkrete Frage lautet jetzt: Wie kann ich diese Liste verkürzen? Gibt es vielleicht irgendetwas mit dem ich alle Buchstaben zusammenfassen kann? Kann man alle Zahlen zusammenfassen? Und ich weiß natürlich wie ich auf Tastatureingaben reagiere Ich will nur wissen ob man das vielleicht optimieren kann. Aline Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Klotzkopp Geschrieben 24. Januar 2007 Teilen Geschrieben 24. Januar 2007 Ich mag mich irren, aber ein TextControl sollte doch auf Strg, Alt, F-Tasten usw. ohnehin nicht reagieren. Welches Verhalten willst du da unterbinden? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
aline234 Geschrieben 24. Januar 2007 Autor Teilen Geschrieben 24. Januar 2007 Ok, dann also doch etwas genauer: In der Anwendung gibt es vorgefertigte Dokumentvorlagen. Nun ist es einstellungssache wie TextControl bei Eingaben in diese Vorlagen reagiert. Entweder ist die Schrift schwarz oder sie wird blau. Nun muss ich eben um diese blaue Schrift zu realisieren das KeyDown-Event benutzen, weil ich noch bestimmte andere Dinge vorher rauszufinden und dann zu entscheiden obs nun wirklich blau wird oder nun doch nicht und yadda yadda, ich will euch nich mit den Programmrichtlinien langweilen Das Ding an der Sache war jetzt aber die, dass 3 Zeilen in diesem Event mir dooferweise die Markierung innerhlab TextControls zerschießt. Soll heißen: Wenn ich Text markiert habe und z.B. STRG gedrückt habe war meine Markierung wieder weg. Und das is doof und geht natürlich nicht. Deshalb möchte ich alle diese Tasten bei dem Event ausschließen. Das sind also alle Tasten außer die Buchstaben, Satzzeichen und Ziffern. Denn nur bei diesen Tasten soll er tatsächlich das Event ausführen. Und nochmal: Es funktioniert auch, es läuft alles so wie es laufen soll. ABER! Ich hab jetzt ein ellenlanges Case. Dieses Case möchte ich jetzt optimieren. Soll heißen, ich möchte nur wissen, ob man z.B. alle Buchstaben und alle Ziffern zusammenfassen kann. So das es am Ende irgendwie so aussieht: Select Case e Case NurZiffern End Select Und ich möchte jetzt nur wissen, ob es solch eine Anweisung gibt oder nicht. Wenn ja, dann wie heißt es und wenn Nein, naja dann bleibt mein Case halt so wie es ist. War das jetzt verständlicher? Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
tobbe Geschrieben 25. Januar 2007 Teilen Geschrieben 25. Januar 2007 If (e.eyCode >= Keys.A And e.KeyCode <= Keys.Z) Or (e.KeyCode >= Keys.D0 And e.KeyCode <= Keys.D9) Or (e.KeyCode >= Keys.NumPad0 And e.KeyCode <= Keys.NumPad9) Then End If So kannst du nur 0 bis 9 NumPad 0 bis 9 und alle Buchstaben von A bis Z eingeben. Mit freundlichen Grüßen Tobbe Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
aline234 Geschrieben 25. Januar 2007 Autor Teilen Geschrieben 25. Januar 2007 Danke dir. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.