2013-07-29 47 views
1

我有一個閃爍的問題TreeView。我想在創建TreeView之後選擇第一個節點。以編程方式選擇節點後閃爍TreeView

tv.SelectedNode = tv.Nodes[0]; 

這套此,也請首先在程序中的任何節點上,使TreeView閃爍,而這一切後是很好,下次點擊後沒有閃爍。 我在MouseDownMouseUp上使用了BeginUpdateEndUpdate,事實上它是有效的,但是隻有在第一次點擊之後。沒有以編程方式選擇第一個節點作爲選擇,它運作良好我不知道,什麼使TreeView閃爍。

在此先感謝!乾杯。

+0

最有可能的一些事件處理程序。仔細檢查所有的事件過濾器 – Swift

+0

我無法重現您的問題。在什麼事件處理程序你放置這個'tv.SelectedNode = tv.Nodes [0];'? –

+0

雖然我從一個屏幕進入另一個屏幕(通過單擊Next),我運行從文件加載DataSet的方法,然後創建TreeView,其中TreeNodes是此DataSet中Table的列。在這個方法的最後,在創建TreeView和他的所有節點之後,我設置了選定的節點。 – soshman

回答

0

可以使用雙緩衝繪畫TreeView的後代能避免閃爍:

class DoubleBufferedTreeView : TreeView { 
    public MyTreeView() { 
     SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.OptimizedDoubleBuffer, true); 
    } 
} 
相關問題