c#如何改变listview item背景颜色?
问题补充:private void listView1_MouseHover(object sender, EventArgs e)
{ }当有事件mouse经过的时候,然后如何来改变他的item的backgroud.
问题补充:private void listView1_MouseHover(object sender, EventArgs e)
{ }当有事件mouse经过的时候,然后如何来改变他的item的backgroud.
{
if (e.IsSelected == true)
{
foreach (ListViewItem.ListViewSubItem lvi in e.Item.SubItems)
{
lvi.BackColor = Color.Silver;
}
}
else
{
foreach (ListViewItem.ListViewSubItem lvi in e.Item.SubItems)
{
lvi.BackColor = Color.White;
}
}
}
listView1.Items[0].BackColor = Color.Red
protected override void OnMouseHover(EventArgs e)
{
}
void listView1_LostFocus(object sender, EventArgs e)
{
foreach (ListViewItem item in listView1.SelectedItems)
{
item.Tag = item.BackColor;
item.BackColor = Color.YellowGreen;
}
}
private void listView1_MouseMove(object sender, MouseEventArgs e)
{
ListViewItem item = this.listView1.GetItemAt(e.X, e.Y);
if (item != null)
{
foreach (ListViewItem i in this.listView1.Items)
{
if (i == item)
i.BackColor = Color.Red;
else
i.BackColor = Color.White;
}
}
else
{
foreach (ListViewItem i in this.listView1.Items)
i.BackColor = Color.White;
}
}
private void listView1_ItemMouseHover(object sender, ListViewItemMouseHoverEventArgs e)
{
e.Item.BackColor = Color.Red;
}
如果有非常多的Item的话,怎么操作也是非常低效的.因为在改变一个项的颜色时,必须修改其他项的颜色.