在做项目中,需要用到listview显示数据。同时,项目要求,通过检索用户输入的数据,程序通过搜索,确定数据所在的行并通过程序设定为选中状态并高亮显示。同时,正常响应鼠标单击响应的效果,单击时,程序设定的选中行清除选中状态。类似的效果如下:
以选中第4行为例,我的实现代码如下:
//更改listView属性
this.listViewUser.GridLines = true;//显示表格线
this.listViewUser.View = View.Details;//显示表格细节
this.listViewUser.LabelEdit = true;//是否可编辑,ListView只可编辑第一列
this.listViewUser.Scrollable = true;//有滚动条
this.listViewUser.HeaderStyle = ColumnHeaderStyle.Clickable;//对表头进行设置
this.listViewUser.FullRowSelect = true;//是否可以选择行
this.listViewUser.HideSelection = false;
listViewUser.SelectedItems.Clear();
this.listViewUser.Items[3].Selected = true;//设定选中
this.listViewUser.Items[3].EnsureVisible();//保证可见
this.listViewUser.Items[3].Focused = true;
this.listViewUser.Select();
说明:HideSelection属性必须为false
Select()的作用是激活控件,使用Focus()作用不明显,选中行背景不明显类似为灰色。