一、向ListView 添加数据
for (int i = 1; i < 5; i++)
{
ListViewItem litem = new ListViewItem("data:"+i);
lv_WarnList.Items.Add(litem);
}
如果需要在ListView中绑定实体类对象的话,需要将数据放在Tag属性里
for (int i = 1; i < 5; i++) {
AngleData angleData = new AngleData();
angleData.angle = i;
angleData.position = i*10;
ListViewItem item = new ListViewItem(angleData.position+"");
item.Name = angleData.angle+"";
item.Tag = angleData; // 将实例存储在Tag属性中
listView1.Items.Add(item);
}
获取数据时,将Tag转换回自己的实体类对象就可以
foreach (ListViewItem item in listView1.Items)
{
AngleData angleData = (AngleData)item.Tag; // 将Person实例存储在Tag属性中
Console.WriteLine("item.Text:"+item.Text);
Console.WriteLine("angleData:"+angleData);
}
二、设置ColumnHeader标题头颜色
1.设置OwnerDraw属性为true
2.为ListView添加DrawColumnHeader函数
private void lv_WarnList_DrawColumnHeader(object sender, DrawListViewColumnHeaderEventArgs e)
{
// 绘制标头的背景色
e.Graphics.FillRectangle(new SolidBrush(Color.FromArgb(16, 92, 164)), e.Bounds);
// 绘制标头的文本
e.Graphics.DrawString(e.Header.Text, e.Font, Brushes.White, e.Bounds);
}
private void lv_WarnList_DrawItem(object sender, DrawListViewItemEventArgs e)
{
e.DrawText();
}
3.运行可以看到修改已经生效
三、设置ListView只显示一列,有多余数据时显示纵向滚动条
1.设置Columns属性里只添加一列,设置View属性为Details
2.设置Scrollable属性为true