[VB.NET]vb.net实现搜索??
来源:互联网 发布:行助手是什么软件 编辑:程序博客网 时间:2024/05/19 10:41
<script type="text/javascript"><!--google_ad_client = "pub-8333940862668978";/* 728x90, 创建于 08-11-30 */google_ad_slot = "4485230109";google_ad_width = 728;google_ad_height = 90;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
vb.net实现搜索??
写了一个程序,想实现向按字母搜索,每敲一个字符,就显示和此前敲击的相关的项目的列表
__________________________________________________________________________
自己顶,顺便说清楚。就是有一个搜索只要输入字符,就自动按敲入的字符列出相关的项目。
__________________________________________________________________________
就像是Google搜索那种的吧?
__________________________________________________________________________
使用SendMessage函数
假设在你的项目中有一个文本框控件(TextBox),用于输入搜索文本,一个列表框控件(ListBox),用于显示匹配项目。
在TextBox的TextChanged事件中,给列表框发一条LB_FINDSTRING(&H18F)消息,该消息告
诉列表框在列表中查找匹配的项目。
代码如下:
Private const LB_FINDSTRING As Integer=&H18&
Private Sub TextBox_TextChanged(ByVal sender As Object, ByVal e As EventArgs)
SendMessage(ComboBox.Handle,LB_FINDSTRING,-1,TextBox.Text)
End Sub
注意:应先声明SendMessage函数。
__________________________________________________________________________
请楼上在指教,我查了msdn,没有这个函数的说明
__________________________________________________________________________
我显示用的是listview
__________________________________________________________________________
要沉 了.我得顶
__________________________________________________________________________
帮你顶下,我也需要
__________________________________________________________________________
LINQ
我认为这个很适合
可以自己实现,不过比较麻烦, 比较简单的 方式是 like 关键字, 比较字符相似
__________________________________________________________________________
我也需要顶
__________________________________________________________________________
你要搜索哪里的东西?放在一个数组里面还是一个数据里
3楼的代码没有看懂,能不能解释一下
__________________________________________________________________________
像百度和GOOGLE那个显示出来的下拉列表应该用什么实现?这是个问题哦
__________________________________________________________________________
3楼用的是API函数,声明如下:
Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As Int32, ByVal wMsg As Int32, ByVal wParam As Int32, ByVal lParam As Int32) As Int32
__________________________________________________________________________
可以使用TextBox控件的
AutoCompleteMode 、AutoCompleteCustomSource 、AutoCompleteSource
轻松实现,见下边代码。(放到Form_Load中就可以了)
VB.NET code
Me.TextBox1.AutoCompleteCustomSource.AddRange(New String() {"AAAAA", "ABBBB", "ABCCC", "BCC", "CDEFGGAA"})
Me.TextBox1.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend
Me.TextBox1.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.CustomSource
更多说明见MSDN
__________________________________________________________________________
vb.net实现搜索??
写了一个程序,想实现向按字母搜索,每敲一个字符,就显示和此前敲击的相关的项目的列表
__________________________________________________________________________
自己顶,顺便说清楚。就是有一个搜索只要输入字符,就自动按敲入的字符列出相关的项目。
__________________________________________________________________________
就像是Google搜索那种的吧?
__________________________________________________________________________
使用SendMessage函数
假设在你的项目中有一个文本框控件(TextBox),用于输入搜索文本,一个列表框控件(ListBox),用于显示匹配项目。
在TextBox的TextChanged事件中,给列表框发一条LB_FINDSTRING(&H18F)消息,该消息告
诉列表框在列表中查找匹配的项目。
代码如下:
Private const LB_FINDSTRING As Integer=&H18&
Private Sub TextBox_TextChanged(ByVal sender As Object, ByVal e As EventArgs)
SendMessage(ComboBox.Handle,LB_FINDSTRING,-1,TextBox.Text)
End Sub
注意:应先声明SendMessage函数。
__________________________________________________________________________
请楼上在指教,我查了msdn,没有这个函数的说明
__________________________________________________________________________
我显示用的是listview
__________________________________________________________________________
要沉 了.我得顶
__________________________________________________________________________
帮你顶下,我也需要
__________________________________________________________________________
LINQ
我认为这个很适合
可以自己实现,不过比较麻烦, 比较简单的 方式是 like 关键字, 比较字符相似
__________________________________________________________________________
我也需要顶
__________________________________________________________________________
你要搜索哪里的东西?放在一个数组里面还是一个数据里
3楼的代码没有看懂,能不能解释一下
__________________________________________________________________________
像百度和GOOGLE那个显示出来的下拉列表应该用什么实现?这是个问题哦
__________________________________________________________________________
3楼用的是API函数,声明如下:
Private Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" (ByVal hwnd As Int32, ByVal wMsg As Int32, ByVal wParam As Int32, ByVal lParam As Int32) As Int32
__________________________________________________________________________
可以使用TextBox控件的
AutoCompleteMode 、AutoCompleteCustomSource 、AutoCompleteSource
轻松实现,见下边代码。(放到Form_Load中就可以了)
VB.NET code
Me.TextBox1.AutoCompleteCustomSource.AddRange(New String() {"AAAAA", "ABBBB", "ABCCC", "BCC", "CDEFGGAA"})
Me.TextBox1.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend
Me.TextBox1.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.CustomSource
更多说明见MSDN
__________________________________________________________________________
- [VB.NET]vb.net实现搜索??
- VB.net实现五子棋
- VB.NET 实现自动关机
- vb.net实现分页
- VB.NET多态性实现
- VB.NET超链接实现
- VB.NET+AJAX搜索建议功能的实现
- [VB.NET]VB REDIM
- VB与VB.NET
- VB.Net与VB
- VB与VB.NET
- vb.net
- VB。NET
- vb.net
- vb.net
- vb.net
- vb.net
- VB.net
- [VB.NET]请问如何在picturebox中实现幻灯片查看图片效果
- Sandcastle生成项目文档
- [VB.NET]跪求高手解决DataGrid的问题!
- 深入研究java对String字符串对象的创建以及管理
- [VB.NET]图形旋转的问题?
- [VB.NET]vb.net实现搜索??
- 选购ERP软件时需避免的五大错误
- 用微软Sandcastle创建.NET文档
- [VB.NET]Crystal Report
- [VB.NET]VB.NET+MAPX查询问题
- 想哭...黑想黑想...
- 遍历Request.ServerVariables
- Java编程那些事儿29—表达式
- [VB.NET]vb.net中怎样删除Datagrid中的数据