C#.NET 4.5無法獲得的ListView停止閃爍
我有一個不斷被不同的線程通過這種方法更新一個ListView:
public void UpdateUI_List_SetRow(int rowNum, ListViewItem item)
{
lock (lock_List)
{
try
{
if (this.lstStatus.InvokeRequired)
lstStatus.Invoke(new MethodInvoker(() => lstStatus.Items[rowNum] = item));
else
lstStatus.Items[rowNum] = item;
}
catch (Exception ex)
{
ErrorLogging.Log(ex);
}
}
}
它不斷地在被更新閃爍。我嘗試了DoubleBuffered修補程序(How to prevent flickering in ListView when updating a single ListViewItem's text?),但它不起作用。
對不起,如果這是一個重複的帖子,但我找不到任何解決方案,而不是啓用雙緩衝。
如果你的更新速度太快,也許你可以寫你的速度快,後臺更新一些收藏。然後每500毫秒到1000毫秒更新您的基於該集合的ListView。 – Brad
..並且調用'SuspendLayout'和'ResumeLayout'也可能有幫助。 –
suspendlayout沒有什麼區別。呃...guess我必須嘗試重新編碼它,看看它是否有所作爲:( – blizz