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

本文关键字:视图 Windows 窗体 获取 | 更新日期: 2023-09-27 18:27:06

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

有没有办法知道显示的内容到底有多大?

感谢

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

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

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

只要确保有正确的错误检查(TreeView实际上有节点,等等)。至于宽度,我记不清是怎么做的。不过,你可以使用TreeView的Bounds属性本身(可能需要一些测试)。我也遇到过类似的情况,我没有AutoSizing TreeView,但它包含在一个面板中并填充停靠,所以我需要通过在展开/折叠上调整树视图的大小来自己处理滚动条。

相关文章: