0
nennen habe ich zwei U-BooteWie eine Sub mit KeyEventArgs von einem anderen Sub
Private Sub kbHook_KeyDown(ByVal Key As System.Windows.Forms.Keys) Handles KeyHook.KeyDown
und
Private Sub Form1_KeyPressCaps(ByVal key As Object, e As KeyEventArgs) Handles Me.KeyDown
If e.KeyCode = Keys.CapsLock Then
If keyStCL = True Then
checkbutton_caps.Checked = False
checkbutton_caps.Image = My.Resources.Resource1.btn_ico_caps_off
'Image.FromFile("resources\btn_ico_caps_off.png")
keyStCL = False
ElseIf keyStCL = False Then
checkbutton_caps.Checked = True
checkbutton_caps.Image = My.Resources.Resource1.btn_ico_caps_on
'Image.FromFile("resources\btn_ico_caps_on.png")
keyStCL = True
End If
End If
End Sub
Ich möchte Form1_KeyPressCaps von kbHook_KeyDown nennen. Wie mache ich es.
Ich versuchte dies:
Private Sub kbHook_KeyDown(ByVal Key As System.Windows.Forms.Keys) Handles KeyHook.KeyDown
Call Form1_KeyPressCaps(Key, New KeyEventArgs)
End Sub
Aber seine nicht funktioniert. Ich erhalte eine Fehlermeldung:
Argument not specified for parameter 'keyData' of 'Public Sub New(keyData As System.Windows.Forms.Keys)'.
Was Sie ist verwirrend? keydata ist ein erforderlicher Parameter zum Erstellen einer KeyEventArgs-Instanz. der Fehler sagt so – Plutonix
@Plutonix Form1_KeyPressCaps wird verwendet, um Key Down-Ereignis der Feststelltaste zu behandeln. Wie soll ich das Argument für Keydata angeben? – Xlam
Übergeben Sie einfach die Variable 'Key' an Ihre neue' KeyEventArgs' Klasse. Sie sollten wissen, wie Sie Parameter/Argumente übergeben, da Sie dies bereits tun, wenn nicht, lesen Sie es weiter: [** Gewusst wie: Übergeben von Argumenten an eine Prozedur (Visual Basic) **] (https: // msdn .microsoft.com/de-de/library/3d4hzxt6.aspx). - Außerdem sollten Sie das Schlüsselwort "Call" entfernen. Es ist überflüssig. –