0

バインディングソースにバインドされているコンボボックスがあります。問題は、コンボボックスのドロップダウンを開いてキーボードのキーを上下にクリックすると、バインディングソースの位置が変更され、イベントが発生し始めることですが、そうではないはずです。EnterキーまたはTabキーを押すか、マウスでクリックした場合にのみ起動するはずです。

私がこれまでに試したことは次のとおりです。

テキストボックスを継承して、自分でイベントを処理しようとしました

Protected Overrides Sub OnKeyDown(ByVal e As System.Windows.Forms.KeyEventArgs)
    If Me.DroppedDown Then
        e.Handled = True
    Else
        MyBase.OnKeyDown(e)
    End If
End Sub

ただし、問題は、上下のキーを押してもハイライトがどこにも移動しないことです。コンボボックスがドロップダウンモードのときのマウスの動作を模倣したいと思います。マウスをアイテムに合わせると、現在のアイテムが強調表示されますが、バインディングソースは変更されません。ありがとう。

4

1 に答える 1

1

SelectedIndexChangedにあるものをSelectionChangeCommitedに移動すると、うまくいくはずです。SelectedIndexChangedを使用してインデックスを変更すると、自動的に起動されます。SelectionChangeCommitedは、最終的な選択が行われたときに発生します。

于 2012-08-20T19:08:57.210 に答える