我现在用Vs2003在做WinForm程序时碰到一个问题,客户要求软件的数据列表项(ListView控件),可以做到类似于网页中鼠标经过超链接动态改变字体颜色的效果。
可窗体中ListView控件没有直接对应选中的ViewListItem项的方法,请教各位这种效果如何实现,如果可以请赐教一段演示代码。谢谢。
可窗体中ListView控件没有直接对应选中的ViewListItem项的方法,请教各位这种效果如何实现,如果可以请赐教一段演示代码。谢谢。
但现在的情况是运行起来需要刷新ListViewItem控件,显示有闪动,是否有更好解决办法,望赐教。 private void listView1_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
{
foreach(System.Windows.Forms.ListViewItem lvi in this.listView1.Items)
{
if((e.Y - lvi.Bounds.Top) >=0 && (e.Y - lvi.Bounds.Top)<lvi.Bounds.Height)
{
lvi.ForeColor = Color.Red;
}
else
{
lvi.ForeColor = Color.Black;
}
}
}
注:是在循环体外加。。
我想在方法外设置一个临时存放前一个已经变化的ListViewItem,在循环体里进行判断如果没改变过的就不对其颜色进行赋值。这样应该可以减少不少闪动。