2017-10-19 9 views
0

にKeyDownイベントで(です。KeyValue)を倍増する変数を変換する方法:私はこのコードを持っている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 

をしかし、私は(キーボード上のZボタン)B1を再生したいとき、私はこのエラーがあります:

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

私を助けることができますか?

+0

比較での文字列と列挙型を混ぜることはお勧めできません。代わりにKeyPressイベントを使用して "z"のような入力キーを検出します。 –

+1

'b1'を' Keys.Z'に置き換えますか? – PerpetualStudent

答えて

0

変数b1にキーを割り当てるには、次のようにします。

Keysはenumです。

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

キーは列挙型です...だから.....キーとしてDim b1 ..... – Naidu

+0

割り当て中。 ... b1 = Keys.Z – Naidu

関連する問題