2012-04-07 140 views
5

我需要一個只有垂直滾動條的TreeView。C#WinForms TreeView刪除水平滾動條

我試過this但它不起作用,所產生的滾動條根本沒有做任何事情。

我嘗試相反(與user32.dll中的功能滾動到真實和禁用水平滾動條) - 它不工作,當我足夠長的東西添加到TreeView滾動條再次顯示...

回答

10

你可以嘗試在樹視圖控件上打開TVS_NOHSCROLL窗口樣式。要做到這一點,你必須使用自定義的TreeView像這樣的擴展標準TreeView控件:

public class NoHScrollTree : TreeView { 
protected override CreateParams CreateParams { 
get { 
    CreateParams cp = base.CreateParams; 
    cp.Style |= 0x8000; // TVS_NOHSCROLL 
    return cp; 
} 
} } 
+0

謝謝!這是它 – Istrebitel 2012-04-07 09:38:28

+1

這是一個準備好要去的類,它有一個「Horizo​​ntalScrollbar」屬性,可以在設計器中設置:https://pastebin.com/dnbGfiqp – Codecat 2014-06-16 13:14:05

1

如果你的目的是獲得的外觀和感覺像Windows Vista和Windows 7原生樹視圖,那麼你就應該按照這個,

How to get Windows native look for the .NET TreeView?

SetWindowTheme是必要的。然後水平滾動條不會出現。

它適用於Windows Vista和Windows 7.

+0

不,我只是想要我所要求的,但仍然感謝有價值的信息! ;) – Istrebitel 2012-04-07 09:39:09