当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > .NET中为组合框添加自动查询功能

ASP.NET
Asp.Net使用POST方法最简单的实现
实现.NET应用程序的自动更新
优秀ASP.NET程序员修炼之路
ASP.NET中实现模板页
在ASP.Net 2.0中实现多语言界面的方法
小议优化ASP.NET应用性能之Cache篇
.net开发投票机的思路
浅析CMS内容管理系统的两种方案
ASP.NET 2.0中动态修改页面标题
“您无权查看该网页”的原因和解决方法
将一个图片按比例缩放显示在一个Frame中
编程使用资源文件实现多语言页面(In Action)
.Net编程的多个小技巧
asp.net2.0学习历程-菜鸟到中级程序员的飞跃
asp.net如何连接sql server2000数据库
FCKeditor 2.6在ASP.NET中的配置方法
使用ASP.NET开发移动通讯的几种方法
ASP.NET 2.0的URL映射的实现方法
如何在Asp.net中使用HtmlArea编辑器
ASP.NET 2.0 中实现跨页提交

ASP.NET 中的 .NET中为组合框添加自动查询功能


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 96 ::
收藏到网摘: n/a

在窗体中添加如下方法:

第一个方法是AutoCompleteKeyUp,它将组合框和KeyEventArgs对象作为参数,需要在组合框的KeyUp事件中调用此方法;它全根据用户输入的内容选择最接近的内容;

第二个方法是AutoCompleteLeave,在激活组合框的Leave事件时调用,此方法仅提取用户最终选择的内容,按照组合框中的每个匹配内容修改其大小写。

代码如下:

以下为引用的内容:

  Private Sub AutoCompleteKeyUp(ByVal Combo As ComboBox, ByVal e As KeyEventArgs)

  Dim strTyped As String

  Dim intFoundIndex As Integer

  Dim objFoundItem As Object

  Dim strFoundText As String

  Dim strAppendText As String

  '忽略特殊键

  Select Case e.KeyCode

  Case Keys.Back, Keys.Left, Keys.Right, Keys.Up, Keys.Down, Keys.Delete, Keys.CapsLock

  Return

  End Select

  '在查询列表中找到

  strTyped = Combo.Text

  intFoundIndex = Combo.FindString(strTyped)

  If intFoundIndex >= 0 Then

  objFoundItem = Combo.Items(intFoundIndex)

  strFoundText = Combo.GetItemText(objFoundItem)

  strAppendText = strFoundText.Substring(strTyped.Length)

  Combo.Text = strTyped & strAppendText

  Combo.SelectionStart = strTyped.Length

  Combo.SelectionLength = strAppendText.Length

  End If

  End Sub

  Private Sub AutoCompleteLeave(ByVal Combo As ComboBox)

  Dim intFoundIndex As Integer

  intFoundIndex = Combo.FindStringExact(Combo.Text)

  Combo.SelectedIndex = -1

  Combo.SelectedIndex = intFoundIndex

  End Sub

  Private Sub ComboBox1_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles ComboBox1.KeyUp

  AutoCompleteKeyUp(ComboBox1, e)

  End Sub

  Private Sub ComboBox1_Leave(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.Leave

  AutoCompleteLeave(ComboBox1)

  End Sub