这篇文章主要介绍C#中Winform TreeView如何控制滚动条位置不变,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
成都创新互联主要从事网站制作、成都做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务大埔,10余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108
这几天碰到一个问题,写winform的时候,给TreeView加了checkbox,但是每次操作某个checkbox的时候,滚动条总会跑到最下面。
想了很多办法,终于找到了一个TreeView的属性--TopNode,这个属性的意思是当前treeview的显示在最上面的node。
还有另外一个方法--EnsureVisible(),用于控制某个node显示在最上面。于是思路有了:每次操作treeview之前先记录TopNode,操作完之后继续将这个topnode置顶。但是还有一个弊端:每次显示的时候总会刷一下。下面是代码:
privateTreeNode _currentTopNode;
private
void treeView1_AfterCheck(object sender,TreeViewEventArgs e)
{
_currentTopNode=
this.treeView1.TopNode;InitTreeview();
}
private
void InitTreeview()
{
if
(_currentTopNode !=null){
this.treeView1.Nodes[0].Nodes.CastWhere(o => o.Text == _currentTopNode.Text).First().EnsureVisible();
//_currentTopNode.EnsureVisible();不起作用,只有上面这种做法才有效,具体原因我也不清楚。
} else{
this.treeView1.Nodes[0].EnsureVisible();}
}
以上是“C#中Winform TreeView如何控制滚动条位置不变”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联行业资讯频道!