【发布时间】:2023-03-22 10:35:01
【问题描述】:
我的应用程序是多线程的,它有 f.ex 25 个活动线程,每个线程将其状态推送到委托列表视图项。
示例:
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;
}
}
根据状态,它会改变项目颜色等。它会闪烁很多,看起来很讨厌:)
也许您可以建议如何避免这种情况?如何加快绘图速度?或者也许我应该考虑开始使用一些不同的组件?
【问题讨论】:
-
我想你的意思是闪烁。
-
你能稍微扩展一下这个问题吗?你有很多线程在改变项目的颜色,问题是颜色变化很大?你的意思是它闪烁,就像一个双缓冲问题,还是你的颜色变化表现得不够快,它总是落后,总是在试图跟上变化时改变颜色?我不明白为什么代码请求更改项目的颜色,然后颜色发生变化是一个问题。
标签: c# .net user-interface components