|
こんばんわ。
ご提示のコードでKeyUpイベントの場合・・・
1.テキストボックスでEnterを押して離す。
↓
2.メッセージボックスが表示されフォーカスが移る。
↓
3.Enterキーを押す。
↓
4.メッセージボックスのOKボタンが押されたことになるので
メッセージボックスが消えてテキストボックスにフォーカスが戻る。
↓
5.Enterキーを離す。
↓
6.テキストボックスにフォーカスがあるので2に戻る。
ってことみたいやね。
マウスでOKボタン押したら問題ないねんけど。
ま、メッセージボックス出してるからややこしいんですわ(^^;;
でもKeyDownのほうがええとは一概には言えまへん。
例えば、こんなコードで実験してみると・・・
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Debug.Print "KeyDown"
End Sub
Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Debug.Print "KeyUp"
End Sub
KeyUpはキーを離したとき、必ず1回だけ実行されるけど、
KeyDownはキーを押し続けたら何回でも実行されるのがわかると思います。
両方の特徴を理解した上で、状況によってどっちか選択したらええんとちゃいまっか?
ほな。
|
|