カーソルがテキストボックスの上にあり、ボタン「+」よりも押すと、そのテキストボックスの値が1上がる必要があります
だから私が試したのはMouseMoveを使用することですが、ここで問題は、関数OnkeyPressにある関数KeyAsciiを使用できないことです
If KeyAscii = vbKeyL Then
Stock.Value = Stock.Value + 1
End If
何かアイデアがあれば、自由に投稿してください。事前にthnx。
正解は: フォームでキー プレビューを [はい] に設定し、テキスト ボックスを有効にする: False
そして、keyDown イベントよりも:
Select Case KeyCode
Case vbKeyAdd
Stock.Value = Stock.Value + 1
End Select
これは、テキスト ボックスのMouseMoveイベントとKeyPressイベントで行うことができます。
MouseMoveイベントを使用すると、マウスがテキスト ボックスの上にあることを知ることができます。そうである場合は、グローバル変数を True に設定し、それが離れるとき (テキスト ボックスの境界に達したとき) に False に設定します。
次に、フォームのKeyPressイベントで、グローバル変数が true かどうかを確認し、そうである場合は KeyAscii 値を確認します。