vb.netでプログラムを開発しようとしましたが、キャップロックキーを押したときにチェックボックスをオンまたはオフにすることができました。私は以下のコードを使って同じことをしましたが、うまくいきませんでした。vb.netでキャップロックキーが押されたときにチェックボックスをチェックする方法
Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles Me.KeyPress
If e.KeyChar = Microsoft.VisualBasic.ChrW(Keys.CapsLock) Then
checkbutton_caps.Checked = True
End If
このコードで何が問題になっていますか?
変更してみてください '' Control.IsKeyLocked(Keys.CapsLock)にMicrosoft.VisualBasic.ChrW(Keys.CapsLock)は '' – MusicLovingIndianGirl
は 'もしMy.Computer.Keyboard.CapsLock = TrueのThen'を試してみてください。 –
あなたは間違ったイベントを処理しています。 「KeyPress」は、入力のために生成される文字の結果となるキーの組み合わせ(組み合わせがただ1つのキーであってもよい)に応答して発生する。 CapsLockキーは文字を生成しません。あなたは 'KeyDown'または' KeyUp'を処理しなければならないでしょう。これは単一のキーボードキーに応答して発生します。つまり、特定のキーはデフォルトでどちらのイベントも生成しません。 CapsLockが行うかどうかはわかりません。 – jmcilhinney