PublicClass AutoCompleteSearchClass AutoCompleteSearch '模糊记忆模块 PublicSub AutoCompleteKeyUp()Sub AutoCompleteKeyUp(ByVal txt As TextBox, ByVal e As KeyEventArgs) Dim strTyped AsString Dim strFoundText AsString Dim strAppendText AsString Dim dt As DataTable Dim db AsNew DataBase Dim dv As DataView dv = db.RunSelectSQL("select 编号,品名 from 物料清单 where 类型='部品'") dt = dv.Table db.Dispose() '如果DATATABLE是空的,则退出程序 If dt.Rows.Count <1Then Exit Sub EndIf '忽略以下这些基本操作键 SelectCase e.KeyCode Case Keys.Back, Keys.Left, Keys.Right, Keys.Up, _ Keys.Delete, Keys.Down, Keys.CapsLock Return EndSelect '获取输入值,并转换为大写 strTyped = txt.Text.ToUpper.Trim() '如果找到,则提取已录入和未录入部分 For ii AsInteger=0To dt.Rows.Count -1'注:表为所有编号内容,窗休导入时初始化 IfInStr(dt.Rows(ii)(0).ToString().Trim(), strTyped) >0Then strFoundText = dt.Rows(ii)(1).ToString().Trim() strAppendText = strFoundText.Substring(strTyped.Length) '判断查询出来的结果是否与将要显示出来的内容是否吻合 If strTyped & strAppendText = strFoundText Then txt.Text = strTyped & strAppendText txt.SelectionStart = strTyped.Length txt.SelectionLength = strAppendText.Length Exit Sub EndIf EndIf Next End Sub End Class