2017-10-19 39 views
0

我有這樣的代碼:如何轉換變量翻一番(鍵值)中的KeyDown在Visual Basic

Private Sub key(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown 
    If e.KeyValue = Keys.Enter Then 
     If FuSt = False Then 
      FuSt = True 
      My.Computer.Audio.Play(My.Settings.Full) 
     Else 
      FuSt = False 
      My.Computer.Audio.Play(DIRECOTRY) 
     End If 
    End If 
    If e.KeyValue = b1 Then 
     My.Computer.Audio.Play(SoundsDir & "1.wav") 
    End If 
End Sub 

但是,當我想玩B1(Z鍵在鍵盤上),我有這樣的錯誤:

Conversation from "z" to Double is incorrect (Somethink like that)

你能幫我嗎?

+0

在比較中混合字符串和枚舉不是一個好主意。而是使用KeyPress事件來檢測類似「z」的鍵。 –

+1

用'Keys.Z'替換'b1'? – PerpetualStudent

回答

0

將鍵分配給變量b1嘗試如下所述。

Keys是一個枚舉。

Dim b1 As Keys 
b1 = Keys.Z 

漢斯帕桑特評論,如果你想使用KeyPress事件(推薦),試試下面的代碼。

Private Sub Form1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles Me.KeyPress 
     If e.KeyChar = Char.ToLower(ChrW(Keys.Z)) Then 
      MsgBox("Z selecetd") 
     End If 
    End Sub 

,或者如果你想要去的KeyDown事件,試試下面的代碼。

Private Sub Form1_KeyDown(sender As Object, e As KeyEventArgs) Handles MyBase.KeyDown 
    If e.KeyCode.Equals(Keys.Z) Then 
     MsgBox("Z selecetd") 
    End If 
End Sub 
+0

雅,我知道,但我想Keys.z是在變量b1 – Metexu

+0

鍵是一個枚舉....所以你可以嘗試.....昏暗b1作爲鍵..... – Naidu

+0

然後,而分配。 ... b1 = Keys.Z – Naidu