如何在Windows窗体中获取树视图的完整大小?

时间:2012-03-08 19:51:29

标签: c# winforms treeview

我在TreeView中没有“AutoSize”选项,但我需要知道对象的全高和全宽是多少。我只能定义TreeView面板的大小,当内容与引用的大小重叠时,它会显示滚动条。

有没有办法知道内容显示的真实程度?

谢谢

1 个答案:

答案 0 :(得分:2)

如果你想知道内容区域的绝对底部(只有扩展的内容),那么你可以使用Nounds属性和Bounds属性来获得可见的高度。

TreeNode tn = tv.Nodes[tv.Nodes.Count - 1];
while(tn.IsExpanded)
    tn = tn.Nodes[tn.Nodes.Count - 1];
return tn.Bounds.Bottom;

确保进行适当的错误检查(TreeView实际上是HAS节点等)。至于宽度,不记得我是怎么做到的。但是,您可以使用TreeView的Bounds属性本身(可能需要一些测试)。我有类似的情况,我没有AutoSizing TreeView,但它包含在一个面板中并填充对接,所以我需要通过在Expand / Collapse上调整树视图大小来自己处理滚动条。