C# WinForms TreeView remove Horizontal Scrollbar

2019-04-29 00:09发布

I need to have a TreeView with only vertical scrollbar.

I tried this but it doesnt work, the resulting scrollbar doesnt do anything at all.

I tried the opposite (scrollable to true and disable horizontal scrollbar with that user32.dll function) - it doesnt work, when i add long enough stuff to the TreeView the scrollbar shows again...

标签: c# treeview
2条回答
霸刀☆藐视天下
2楼-- · 2019-04-29 00:52

You can try turning on the TVS_NOHSCROLL window style on the treeview control. To do so you have to extend the standard TreeView control with a custom TreeView like this one :

public class NoHScrollTree : TreeView {
protected override CreateParams CreateParams {
get {
    CreateParams cp = base.CreateParams;
    cp.Style |= 0x8000; // TVS_NOHSCROLL
    return cp;
}
} }
查看更多
混吃等死
3楼-- · 2019-04-29 01:01

If your intention is to get the look and feel like Windows Vista and 7 native tree view, then you should follow this,

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

SetWindowTheme is necessary. Then the horizontal scroll bar won't appear.

It works on Windows Vista and Windows 7.

查看更多
登录 后发表回答