ListView有LargeImageList和SmallImageList属性, Form1_Load方法中调用下面代码。
private void CreateMyListView()
{
listView1.View = View.Details; //将view属性设为Details。
listView1.LabelEdit = true; //允许用户编辑文本项。
listView1.AllowColumnReorder = true; //允许用户重排列。
listView1.CheckBoxes = true; //显示check boxes。
listView1.FullRowSelect = true; //允许选择项及其子项。
listView1.GridLines = true; //显示行列的网格线。
listView1.Sorting = SortOrder.Ascending; //所列项按升序自动排序。
//用指定的项文本和项图标的图像索引位置初始化ListViewItem类的新实例。
//图像从零开始索引,该图像位于与包含该项的ListView关联的ImageList中。
ListViewItem item1 = new ListViewItem("item1",0);
item1.Checked = true; //item1被选中。
//SubItems类获取包含该项的所有子项的集合,Add方法向集合中添加单个子项,
//子项的顺序决定ListView控件中显示子项的列。
item1.SubItems.Add("1");
item1.SubItems.Add("2");
item1.SubItems.Add("3");
ListViewItem item2 = new ListViewItem("item2",1);
item2.SubItems.Add("4");
item2.SubItems.Add("5");
item2.SubItems.Add("6");
ListViewItem item3 = new ListViewItem("item3",2);
item3.Checked = true;
item3.SubItems.Add("7");
item3.SubItems.Add("8");
item3.SubItems.Add("9");
//产生项和子项的列,Add方法往列添加3个参数:列表头,初始宽度,对齐方式。
listView1.Columns.Add("Item Column", -2, HorizontalAlignment.Left);
listView1.Columns.Add("Column 2", -2, HorizontalAlignment.Left);
listView1.Columns.Add("Column 3", -2, HorizontalAlignment.Left);
listView1.Columns.Add("Column 4", -2, HorizontalAlignment.Center);
//添加项目到ListView.
listView1.Items.AddRange(new ListViewItem[]{item1,item2,item3});
//产生图形对象
ImageList imageListSmall = new ImageList();
//初始化图形对象.
imageListSmall.Images.Add(Bitmap.FromFile(@"..\..\绘图.bmp"));
imageListSmall.Images.Add(Bitmap.FromFile(@"..\..\剪切.bmp"));
imageListSmall.Images.Add(Bitmap.FromFile(@"..\..\计时.bmp"));
//分配ImageList对象到ListView.
listView1.SmallImageList = imageListSmall;
}
运行结果如图,由于属性View设置为Details,运行后的列表可由用户更改。将Column列的第一项名称item1改为绘图,第二项名称item2改为剪切。