Winforms 如何确保最后一个TreeNode(在TreeView中)完全可见?

Winforms 如何确保最后一个TreeNode(在TreeView中)完全可见?,winforms,treeview,Winforms,Treeview,我正在使用TreeView控件并通过编程方式添加节点。因为我希望我的最后一个节点始终可见(即自动滚动树视图),所以我在最后一个节点上调用TreeNode.EnsureVisible() 但是,如果节点只是一个非常微小的可见点(即,只有一条小长条),则认为它是可见的。如果我尝试滚动树视图,它仍然不会显示最后一个节点 如何确保我的最后一个TreeNode 100%可见?我正在寻找类似的问题,我发现了以下页面: 页面确认这是一个bug,解决方法是调用BeginUpdate()和EndUpdate()

我正在使用TreeView控件并通过编程方式添加节点。因为我希望我的最后一个节点始终可见(即自动滚动树视图),所以我在最后一个节点上调用TreeNode.EnsureVisible()

但是,如果节点只是一个非常微小的可见点(即,只有一条小长条),则认为它是可见的。如果我尝试滚动树视图,它仍然不会显示最后一个节点


如何确保我的最后一个TreeNode 100%可见?

我正在寻找类似的问题,我发现了以下页面:

页面确认这是一个bug,解决方法是调用BeginUpdate()EndUpdate()方法:

TreeView1.BeginUpdate()    
TreeView1.Nodes.Add("test")    
TreeView1.EndUpdate()

Nirmal

这不正常,您使用的是什么操作系统?使用TreeNode.Bounds属性很容易发现它不完全可见。修复它非常困难,您必须在下一个可见节点上调用EnsureRevisible。