- PR -

コンボボックスにフォーカスが無い時に強調表示が残る

1
投稿者投稿内容
00_Number
常連さん
会議室デビュー日: 2003/11/04
投稿数: 37
投稿日時: 2004-03-20 14:56
いつもお世話になっております。

コンボボックスから別コントロールへEnterキー押下でフォーカスを移動させる処理を行おうとしています。
今作ったプログラムだと別コントロールへのフォーカスの移動は成功するのですが、フォーカス移動後もコンボボックス内の文字が強調表示されたままになってしまう現象が起きており困っています。

作ったソースは単純で、フォーム上にコンボボックス1つ、テキストボックス1つを置き、コンボボックスのKeyDownイベントでEnterキーを拾って次のコントロールにフォーカスを移動させるというものです。
ちなみにDownキーでも同様の処理を行ったのですが、こちらでは上記の現象は生じませんでした。

Private Sub ComboBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles ComboBox1.KeyDown
'Enterキー or Downキー の場合
If e.KeyCode = KeyCode.Enter Or e.KeyCode = KeyCode.Down Then
'次コントロールへ移動
SelectNextControl(ComboBox1, True, True, False, True)
End If
End Sub

解決策や参考情報をご存知の方おられましたら教えて頂きたいと思います。
Sugi@ぱぱんぶぃびぃ
会議室デビュー日: 2003/11/17
投稿数: 6
投稿日時: 2004-03-20 17:16
Sugi@ぱぱんぶぃびぃです。

SelectNextControlの前に e.Handled = True を入れてみてください。
00_Number
常連さん
会議室デビュー日: 2003/11/04
投稿数: 37
投稿日時: 2004-03-20 17:54
Sugi@ぱぱんぶぃびぃさん、ご回答どうもありがとうございます。

教えていただいた方法で実現する事が出来ました。
イベントをキャンセルするような処理になるのでしょうか。
もう少し調べてみます。
どうもありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)