2

カーソルがテキストボックスの上にあり、ボタン「+」よりも押すと、そのテキストボックスの値が1上がる必要があります

だから私が試したのはMouseMoveを使用することですが、ここで問題は、関数OnkeyPressにある関数KeyAsciiを使用できないことです

If KeyAscii = vbKeyL Then
    Stock.Value = Stock.Value + 1
End If

何かアイデアがあれば、自由に投稿してください。事前にt​​hnx。

4

3 に答える 3

2

正解は: フォームでキー プレビューを [はい] に設定し、テキスト ボックスを有効にする: False

そして、keyDown イベントよりも:

Select Case KeyCode
        Case vbKeyAdd

             Stock.Value = Stock.Value + 1
    End Select
于 2013-06-20T14:48:46.887 に答える
0

これは、テキスト ボックスのMouseMoveイベントとKeyPressイベントで行うことができます。

MouseMoveイベントを使用すると、マウスがテキスト ボックスの上にあることを知ることができます。そうである場合は、グローバル変数を True に設定し、それが離れるとき (テキスト ボックスの境界に達したとき) に False に設定します。

次に、フォームのKeyPressイベントで、グローバル変数が true かどうかを確認し、そうである場合は KeyAscii 値を確認します。

于 2013-06-20T13:19:05.773 に答える