michbro
Goto Top

VB Tastatureingabe abfragen

Hallo,

ich habe in VB etwas Programmierten was aus 2 Form(en) besteht Form1 und Form2. Das PRogramm startet mit Form1 nun möchte ich das wenn man die Taste F5 drückt das dann Form2 startet ich habe es schon folgendermaßen probiert
"Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyPress = vbKeyF5 Then MsgBox ("F5")
End Sub"

das ganze habe ich auch schin mit keydown probiert es funktionerit nicht, hierbei sollte ja wenn die Taste F5 gedrückt wird der Text "F5" ausgegeben werden und das funktioniert nicht!

Wäre nett wenn ihr mir helfen könntet!!!

MFG
MichBro

Content-ID: 40707

Url: https://administrator.de/contentid/40707

Ausgedruckt am: 26.11.2024 um 03:11 Uhr

Biber
Biber 22.09.2006 um 14:07:46 Uhr
Goto Top
...ist oft so, wenn man/frau KeyAscii erwartet und KeyPress prüft ... face-wink
MichBro
MichBro 22.09.2006 um 14:49:44 Uhr
Goto Top
Ok, da hast du natürlich recht?! Und wie mach ich das richtig, wenn ich fragen darf?!
Biber
Biber 22.09.2006 um 16:12:18 Uhr
Goto Top
Hmm... ungetestet würde ich sagen:
Private Sub Form_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyF5 Then MsgBox ("F5")  
End Sub

Gruß
Biber
MichBro
MichBro 22.09.2006 um 16:16:48 Uhr
Goto Top
Genau das habe ich auch schon probiert! Aber es fkt. einfach nicht! Habe kiene Ahnung woran das liegt?!

MFG

MichbRo
AndreasHoster
AndreasHoster 22.09.2006 um 16:54:07 Uhr
Goto Top
Tja, die Funktion gibt KeyAscii zurück, also den ASCII Wert des eingegebenen Zeichens.
Hat F5 einen ASCII Wert?
-> Nein, deswegen gehts nicht.
Oder wie es die Hilfe zu Funktionausdrückt:
Das KeyPress-Ereignis tritt ein, wenn der Benutzer eine Taste oder Tastenkombination drückt und loslässt, die einem ANSI-Code entspricht, ...

Ich mache nur VBA, aber in VBA gibts die Funktion:
Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)

End Sub
Wenn da noch eine Messagebox einbaut erkennt man, das F5 den KeyCode 116 hat.
Vermute Mal, die Funktion gibts auch in echtem VB.