2012-04-07 16 views
5

Necesito tener un TreeView con solo la barra de desplazamiento vertical.C# WinForms TreeView eliminar barra de desplazamiento horizontal

Probé this pero no funciona, la barra de desplazamiento resultante no hace nada en absoluto.

Probé la (barra de desplazamiento horizontal desplazable a verdadero y desactivar esa función user32.dll) opuesta - no trabaja, cuando agrego el tiempo suficiente material al TreeView la barra de desplazamiento muestra de nuevo ...

Respuesta

10

Puede intente activar el estilo de ventana TVS_NOHSCROLL en el control treeview. Para ello hay que extender el control TreeView de serie con un TreeView encargo como éste:

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

¡Gracias! Esto es – Istrebitel

+1

Aquí hay una clase lista para usar que tiene una propiedad "HorizontalScrollbar" que se puede configurar en el diseñador: https://pastebin.com/dnbGfiqp – Codecat

1

Si su intención es conseguir que la apariencia como Windows Vista y 7 vista de árbol nativo, entonces usted debe seguir este ,

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

SetWindowTheme es necesario. Entonces la barra de desplazamiento horizontal no aparecerá.

Funciona en Windows Vista y Windows 7.

+0

No, solo quería lo que pedía, pero aún así gracias por información valiosa! ;) – Istrebitel

Cuestiones relacionadas