温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C#中Winform TreeView如何控制滚动条位置不变

发布时间:2021-11-22 15:18:46 来源:亿速云 阅读:481 作者:小新 栏目:编程语言

这篇文章主要介绍C#中Winform TreeView如何控制滚动条位置不变,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

  这几天碰到一个问题,写winform的时候,给TreeView加了checkbox,但是每次操作某个checkbox的时候,滚动条总会跑到最下面。

  想了很多办法,终于找到了一个TreeView的属性--TopNode,这个属性的意思是当前treeview的显示在最上面的node。

还有另外一个方法--EnsureVisible(),用于控制某个node显示在最上面。于是思路有了:每次操作treeview之前先记录TopNode,操作完之后继续将这个topnode置顶。但是还有一个弊端:每次显示的时候总会刷一下。下面是代码:

  

private TreeNode _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.Cast<TreeNode>().

      Where(o => o.Text == _currentTopNode.Text).First().EnsureVisible();

      //_currentTopNode.EnsureVisible();不起作用,只有上面这种做法才有效,具体原因我也不清楚。

   }   else

   {

      this.treeView1.Nodes[0].EnsureVisible();  

   }

}

以上是“C#中Winform TreeView如何控制滚动条位置不变”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI