我有一個控制,來自TreeView
,它反映了一些分層數據並以懶惰的方式創建節點。
當一個特定的節點正在展開時,我正在檢查它的Nodes
集合中是否有一個虛擬節點,如果是,我將它移除,從數據源加載數據並創建實際的子節點。在TreeView上按「*」時如何檢測擴展結束?
爲節點數據加載包圍這種結構:
Cursor = Cursors.WaitCursor;
BeginUpdate();
try
{
// node.Nodes.Add(...)
}
finally
{
EndUpdate();
Cursor = Cursors.Default;
}
能正常工作,除了一種情況:當用戶按下*的節點,這將載入許多嵌套節點上(星號),和等等。 因爲上面的代碼,我得到一個閃爍的樹形視圖,帶有一個運行滾動條。
我認爲,與ExpandAll
一個節點的擴展(這是*一樣)結束,當所有的子節點的展開,但這是錯誤的。
我想知道,有沒有辦法檢測擴展結束的情況下按*TreeView
?
看起來像發明輪子(兩個輪子)。我想阻止這一點。 – Dennis 2013-03-27 13:43:41