我的應用程序是多線程的,它有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