VisualBasic Unterschied KeyDown/KeyUp und KeyPress

Winter88

Ensign
Registriert
Okt. 2009
Beiträge
222
Hallo,
Eigentlich sagt es schon die Überschrift,
was ist der Unterschied zwischen KeyDown beziehungsweise KeyUp und KeyPress?

Danke für die Antworten
 
Also so weit ich weiß ist keyPress quasi "keyDown + keyUp"... also wenn es dir darum geht zu wissen, welche Taste "eingegeben" wurde => keyPress - z.B. für Text-Eingaben
gehts dir darum zu wissen, welche Tasten gerade so gehalten (runtergedrückt) werden ist keyDown / keyUp zu verwenden - z.B. bei einem Spiel die Richtungstasten...
 
Ist ganz simpel. Du hast deine Tastatur.

* Dein Finger drückt die Taste herunter = KeyDown
* Dein Finger übt keinen Druck mehr aus und die Taste kommt wieder hoch = KeyUp
* Die Taste wird runtergedrückt und wieder losgelassen, also ein "Tastenanschlag" = KeyPress
 
MSDN schrieb:
KeyDown = Tritt ein, wenn eine Taste gedrückt wird, während das Steuerelement den Fokus hat.
KeyUp = Tritt ein, wenn eine Taste losgelassen wird, während das Steuerelement den Fokus hat.
KeyPress = Tritt ein, wenn eine Taste gedrückt wird, während das Steuerelement den Fokus hat.
Das KeyPress-Ereignis wird nicht von Tasten ohne Buchstaben ausgelöst, wobei diese aber das KeyDown-Ereignis und das KeyUp-Ereignis auslösen.

Mh, noch Fragen ?
 
KeyPress : Ausgelost, wenn der Key gedrueckt (hoch und runter) wird:
KeyDown: wenn der Key runtergedrueckt wird
KeyUp: wenn der Key wieder losgelassen wird
 
KeyPress überprüft Eingaben nach KeyAscii (z.B. wird zwischen 'A' und 'a' unterschieden).
KeyDown / KeyUp ist der physikalische Tastenanschlag (zwischen 'A' und 'a' wird nicht unterschieden).
 
Um den tastenanschlag noch zu Unterscheiden müsste ich die Bedingung noch UND mit Abfrage auf Shift und nicht Shift machen?
Also bei KeyUp, KeyDown
 
Winter88 schrieb:
Um den tastenanschlag noch zu Unterscheiden müsste ich die Bedingung noch UND mit Abfrage auf Shift und nicht Shift machen?
Genau.

Im Grunde kann man sagen:
- KeyPress, wenn du wissen möchtest, welche Taste gedrückt wurde
- KeyDown / KeyUp, wenn du wissen möchtest, ob eine Taste gedrückt wurde
 
@powerfx: Mit "welche" und "ob" hat das doch gar nichts zu tun...
Bei KeyPress geht es mehr um die Eingabe - wie du sagtest, A oder a wird dort unterschieden - es ist Zeichen-orientiert.
Bei KeyDown/-Up geht es mehr um die wirkliche Tasten-Betrachtung, also Tasten-orientiert.
 
Alles klar, sollten vorerst meine Fragen beantwortet sein.
Dank euch für die Hilfe, nu kann ich weiter programmieren und lernen.
 
1668mib schrieb:
@powerfx: Mit "welche" und "ob" hat das doch gar nichts zu tun...
Direkt hat es zwar nichts damit zu tun, ist aber der wesentliche Unterschied bzgl. Verwendungszweck.
"Welche" ist vielleicht etwas ungünstig gewählt, bezieht sich natürlich nur auf eine ASCII-Eingabe.
 
Zuletzt bearbeitet:
Zurück
Oben