[英]C# Treeview Update from Background Worker
我正在處理文件計數...在后台掃描目錄時,必須通過ProgressChanged
處理程序選擇與TreeView
的目錄名稱具有相同名稱的相應節點。
Treeview已被所有具有指定根路徑的子目錄填充。
我的ProgressChanged
事件將每15毫秒觸發1次。(所以不是快)。
因此,當我在該處理程序中更新樹視圖時,我的窗口被凍結,並且速度如此之慢...甚至沒有響應...
題:
如何在快速運行的ProgressChanged
處理程序中更新UI。
碼
var nodes = tv.FlattenTree()
.Where(n => n.Text == new FileInfo(CurrentFilePath).Directory.Parent.Name)
.ToList();
通過以上代碼,我正在選擇節點。
if (nodes.Count() > 0)
{
nodes[0].ForeColor = Color.Blue;
nodes[0].EnsureVisible();
}
通過上面的代碼,我正在更新樹視圖...
聽起來任務正在以令人難以置信的速度更新,並且更新UI相當昂貴。 您為什么不每隔十分一刻才更新一次? 您還可以在填充TreeView時禁用繪畫-因為在UI處於活動狀態時按質量添加節點會損害性能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.