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 回答