1

我正在使用 Framework 3.5 在 VB.Net 上工作,我需要一个特定的组合自动完成功能,这样我就可以使用可以使用其“过滤器”属性的 BindingSource

    Dim m_bsCommune As New BindingSource
    m_bsCommune.DataSource = m_dtCommune
    cboCommune.DataSource = m_bsCommune

然后,我实现了组合的事件“TextUpdate”:

    Private Sub cboCommune_TextUpdate(ByVal sender As Object, ByVal e As System.EventArgs) Handles cboCommune.TextUpdate

    Dim cboValue As String = cboCommune.Text

    m_bsCommune.Filter = String.Format("CODE_COM Like '%{0}%'", cboCommune.Text)
    cboCommune.Text = cboValue
    cboCommune.Select(cboCommune.Text.Length, 0)
    cboCommune.DroppedDown = True

End Sub

过滤器工作正常,但如果我使用组合中不存在的值,并且当我尝试移动到另一个控件,或者我在组合之外单击时,我会收到错误消息:

“无效的参数值 0 对索引无效”

我试图在事件“LostFocus,GotFocus”上管理此错误,但在这两个事件之前生成了错误!

谢谢你的帮助

4

0 回答 0