使用後臺線程進行工作,然後用Timer計時,每個800ms更新一次TreeView,具體的方法是:
=============================================
trView.BeginUpdate();
trView.Nodes.AddRange(_nodes.ToArray());
trView.EndUpdate();
=============================================
Debug,然後用鼠標拖動界面不停抖動,發現每隔800ms左右界面會卡一下;
把Timer的Interval改爲3000,卡的間隔就變成了3s。。
在調用 EndUpdate 方法前,BeginUpdate 方法會阻止控件繪製。這個現象正是控件停止繪製的一個直觀的表現。