Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

C# WinForms TreeView remove Horizontal Scrollbar

Tags:

c#

treeview

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...

like image 861
Istrebitel Avatar asked Apr 07 '12 07:04

Istrebitel


2 Answers

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;
}
} }
like image 113
aleroot Avatar answered Sep 20 '22 12:09

aleroot


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.

like image 43
Lex Li Avatar answered Sep 21 '22 12:09

Lex Li