我的应用程序是多线程的,它有f.ex 25个活动线程,并且每个线程都将其状态推送到按委托列表查看项目。ListView - 如何避免闪烁(.NET/C#)?
例如:
private delegate void SetBackColorDelegate(int index, Color color);
private void SetBackColor(int index, Color color)
{
if (listView1.InvokeRequired)
{
listView1.Invoke(new SetBackColorDelegate(SetBackColor), new object[] { index, color });
}
else
{
listView1.Items[index].BackColor = color;
}
}
根据状态它改变项目的颜色等它闪耀了很多,看起来很讨厌:)
也许你可以建议如何避免这种情况?如何加速绘图?或者,也许我应该考虑开始使用一些不同的组件?
我认为你的意思是闪烁。 – 2009-06-01 10:31:57
你可以扩展一下这个问题吗?你有很多线程改变项目的颜色,问题是颜色变化很大?你的意思是闪烁,就像是双缓冲问题,或者你的颜色变化不够快,而且颜色变化不停,而且颜色总是随着颜色的变化而变化。我不明白为什么代码请求改变项目颜色,然后颜色改变是一个问题。 – 2009-06-01 11:03:02