C#WinForms TreeView删除水平滚动条

时间:2012-04-07 07:13:36

标签: c# treeview

我需要一个只有垂直滚动条的TreeView。

我尝试this但它不起作用,生成的滚动条根本不做任何事情。

我尝试了相反的方法(可滚动到true并禁用带有user32.dll函数的水平滚动条) - 它不起作用,当我向TreeView添加足够长的内容时滚动条再次显示...

2 个答案:

答案 0 :(得分: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;
}
} }

答案 1 :(得分:1)

如果您的目的是获得Windows Vista和7本机树视图的外观,那么您应该遵循这一点,

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

SetWindowTheme是必要的。然后水平滚动条将不会出现。

适用于Windows Vista和Windows 7.