ListView 列表视图控件
ListView 可以用五种视图中的一种来呈现列表集合,还支持关联 ImageList 显示图标。

点击控件右上角小三角可以设置 LargeImageList、SmallImageList 等。
五种视图
| 视图 | 说明 |
|---|---|
LargeIcon | 大图标模式(默认) |
SmallIcon | 小图标模式 |
List | 列表模式 |
Details | 详细信息模式(带列头) |
Tile | 平铺模式 |
this.listView1.View = View.Details;Code language: JavaScript (javascript)
设置图标
在编辑项(Items)中可以设置 ImageIndex,关联 ImageList 中对应索引的图标。
this.listView1.LargeImageList = this.imageList1;
this.listView1.SmallImageList = this.imageList1;
ListViewItem item = new ListViewItem("项目1", 0); // 0 对应 imageList1.Images[0]
this.listView1.Items.Add(item);Code language: JavaScript (javascript)
也可以同时显示图片和文字,通过设置 ImagePosition 控制图片和文字的相对位置。

Details 视图下添加列
this.listView1.View = View.Details;
this.listView1.Columns.Add("编号", 80);
this.listView1.Columns.Add("姓名", 100);
this.listView1.Columns.Add("成绩", 80);
ListViewItem item = new ListViewItem("1");
item.SubItems.Add("张三");
item.SubItems.Add("98");
this.listView1.Items.Add(item);Code language: JavaScript (javascript)
获取选中项
private void listView1_Click(object sender, EventArgs e)
{
ListView listView = sender as ListView;
int selectCount = listView.SelectedItems.Count;
if (selectCount == 0)
{
return; // 没选中,不做响应
}
else
{
MessageBox.Show(listView.SelectedItems[0].Text);
}
}Code language: JavaScript (javascript)
常用属性
| 属性 | 说明 |
|---|---|
View | 视图模式 |
Items | 项集合 |
Columns | 列集合(Details 视图下使用) |
LargeImageList | 大图标模式关联的 ImageList |
SmallImageList | 小图标模式关联的 ImageList |
StateImageList | 状态图标(如勾选框) |
SelectedItems | 所有选中项的集合 |
CheckBoxes | 是否显示勾选框 |
FullRowSelect | 是否整行选中 |
GridLines | 是否显示网格线(Details 视图) |
MultiSelect | 是否允许多选 |
HeaderStyle | 列头样式 |
常用事件
| 事件 | 说明 |
|---|---|
Click | 单击触发 |
DoubleClick | 双击触发 |
SelectedIndexChanged | 选中项改变时触发 |
ItemActivate | 项被激活时触发(双击或回车) |
ColumnClick | 列头被点击时触发 |



Previous: ListBox 列表框控件
Next: 下一篇文章