【发布时间】:2012-04-07 07:13:35
【问题描述】:
我需要一个只有垂直滚动条的 TreeView。
我尝试了this 但它不起作用,生成的滚动条根本没有任何作用。
我尝试了相反的方法(可滚动到 true 并使用该 user32.dll 函数禁用水平滚动条) - 它不起作用,当我向 TreeView 添加足够长的内容时,滚动条再次显示...
【问题讨论】:
我需要一个只有垂直滚动条的 TreeView。
我尝试了this 但它不起作用,生成的滚动条根本没有任何作用。
我尝试了相反的方法(可滚动到 true 并使用该 user32.dll 函数禁用水平滚动条) - 它不起作用,当我向 TreeView 添加足够长的内容时,滚动条再次显示...
【问题讨论】:
您可以尝试在 treeview 控件上开启 TVS_NOHSCROLL 窗口样式。为此,您必须使用像这样的自定义 TreeView 扩展标准 TreeView 控件:
public class NoHScrollTree : TreeView {
protected override CreateParams CreateParams {
get {
CreateParams cp = base.CreateParams;
cp.Style |= 0x8000; // TVS_NOHSCROLL
return cp;
}
} }
【讨论】:
如果您的目的是获得类似于 Windows Vista 和 7 原生树视图的外观和感觉,那么您应该遵循这个,
How to get Windows native look for the .NET TreeView?
SetWindowTheme 是必需的。那么水平滚动条就不会出现了。
它适用于 Windows Vista 和 Windows 7。
【讨论】: