C#中ComboBox的模糊搜索

SOASPX 5067 0

给出一段模糊文字,让ComboBox自动改变SelectedIndex,传统方法是用for循环来完成,这里另一种实现方法,供新手学习。

SendMessage属于消息类API函数,具体介绍大家可以自己翻阅资料,下面给出实现方法:

1、引用类库

using System.Runtime.InteropServices; //API调用需要引用这个类库

2、声明函数和常量

[DllImport("user32.dll", EntryPoint="SendMessageA")] //引用SendMessage API

private static extern int SendMessage (IntPtr hwnd, int wMsg, IntPtr wParam, string lParam);

const int CB_FINDSTRING = 0x14C; //声明查找字符串的常数

3、调用

string s =textBox1.Text; //获取TextBox1的值

int i=SendMessage(this.comboBox1.Handle, CB_FINDSTRING, IntPtr.Zero, s);

comboBox1.SelectedIndex=i; //根据查找结果给ComboBox赋值

发表评论 (已有0条评论)

还木有评论哦,快来抢沙发吧~