- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:テキストボックスのキーイベントについて)
テキストボックスのキーイベントについて
このQ&Aのポイント
- VS2005を使用して勉強中の初心者です。今、勉強を兼ねて実験的に作成しているアプリにおいて「TextBox1にフォーカスがある時エンターキーを押すことでメッセージボックス"TEST"を表示させる」ということをさせようと考えています。
- 以下のようなイベントプロシージャによって、一応目的の動きをさせることはできましたが、この時、エンターキー押下による改行を入力させずにメッセージボックス表示のみを実行させるにはどのように書き直すべきなのでしょうか。
- よろしくお願い致します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
KeyPressイベントも処理しないといけないようですよ Private Sub TextBox1_KeyPress(引数省略) if e.KeyChar = Chr(13) then e.Handler = True end if End Sub KeyDownイベントの中で条件が成立した場合に e.Handled を Trueにしましょう if e.KeyCode = Keys.Enter then e.Handled = True MsgBox( "TEST" ) end if といった具合です KeyDownイベントでキーの判断をする場合 単にEnterだけが押された場合とShiftやCtrlなどと一緒に押された場合を考慮したほうがいいでしょう 現在の状態ですと CtrlやShiftを併用してもこの処理ルーチンを通ってしまいます
お礼
早速のご回答、ありがとうございます。 教えていただいたとおりにやってみたところ、思い通りの動きをさせることができました。 加えてアドバイスをいただいたように、その他のキーと同時押しした場合も考慮して、 今後さらに改良してみようと思います。 本当にありがとうございました。