ListView控件有两种不同的方式提供搜索功能:文本匹配和位置搜索,即使用ListView控件的FindItemWithText方法和FindNearestItem方法来实现。FindItemWithText方法允许在处于列表或详细信息视图的ListView上执行文本搜索,要求给定搜索字符串和可选的起始和结束索引。FindNearestItem方法允许在处于图标或平铺视图的ListView中查找项,要求给定一组X坐标和Y坐标以及一个搜索方向。
下面的实例演示使用FindItemWithText方法来搜索。
(1) 创建一个ListView,View属性设置为Details或List,然后用项填充该ListView。
(2) 调用FindItemWithText方法,向其传递要查找的项文本。
下面小编给出大家主要代码:
Private void textBox1_TextChanged(object sender,EventArgs e)
{
ListViewItem foundItem=listView1.FindItemWithText(textBox1.Text,false,0,true);
If(foundItem!=null)
{
listView1.TopItem=foundItem;
listView1.FindItemWithText(textBox1.Text,false,0,true).BackColor=Color.Beige;
}
Else
{
MessageBox.Show(“没有找到信息”);
textBox1.Text=””;
}
}
下面的实例演示使用FindNearestItem方法来搜索。
(1) 创建一个ListView,View属性设置为Details或List,然后用项填充该ListView。
(2) 调用FindItemWithText方法,向其传递要查找的项的文本。
运行程序,选择FindNearestItem窗体,单击控件中的项查找,主要代码如下:
Private void list View1_MouseDown(object sender,MouseEventArgs e)
{
ListViewItem foundItem=this.listView1.FindNearestItem(SearchDirectionHint.Up,e.X,e.Y);
If(foundItem!=null)
{
This.textBox1.Text=foundItem.Text;
}else
{
this.textBox1.Text=”No item found”
}
}
转载请注明出处: 程序员之家 http://www.sunxin.org/