2

如何在不禁用视觉样式的情况下使 C# .net 的树视图中的加减号图标更大。

4

3 回答 3

4

我认为你无法控制它。您唯一能做的就是覆盖 DrawNode 事件并自己绘制节点。

首先,您需要将 DrawMode 更改为 OwnerDrawAll。看看相关的 msdn 页面,它包含令人惊讶的细节:http: //msdn.microsoft.com/en-us/library/system.windows.forms.treeview.drawnode.aspx

于 2008-10-22T08:21:55.797 回答
2

这有点晚了......但刚刚遇到这个问题,并且(偶然)发现有一种(间接)方法可以控制 TreeView 上的加号/减号的大小(在 WinForms 中)。

您基本上必须添加一个图像列表,并且 TreeView 加号/减号会随着图像的大小而变化。要在设计器中看到这一点,请执行以下操作:

  1. 在表单上创建一个 TreeView,并为其创建一些虚拟节点(确保有子节点)
  2. 创建一个图像列表并将其提供给树视图(将其设置到 ImageList 属性中)
  3. 将图像列表的 ImageSize 设置为 16,16,将树视图的 Indent 设置为 3 + 图像的大小 (19),将树视图的 ItemHeight 设置为图像列表的大小 (16)。
  4. 进入 ImageList 并将 ImageSize 属性更改为 24、24,并按照步骤 3 更改 Indent 和 ItemHeight 属性(分别更改为 27 和 24)。您现在应该在树视图中有更大的加号/减号。

我不相信您必须在列表中包含图像,尽管我没有尝试过这种方式。希望这可以帮助某人。

于 2011-04-25T19:11:42.977 回答
0

比默认的10px左右大吗?我认为遵循上面的答案,但是因为我在尝试确定如何恢复原始大小时遇到​​了这个问题:

事实证明,如果您设置 indent 属性,您可以进行一些控制 - 任何小于 10 像素的东西都会开始缩小 +/- 图标。我有一个缩进为 5 的树视图,我发现通过将其恢复为 15(甚至 10)可以恢复图标大小。

我希望这可以帮助其他人在该领域寻找解决方案。

于 2010-09-17T19:13:16.430 回答