我正在使用 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”上管理此错误,但在这两个事件之前生成了错误!
谢谢你的帮助