C#中WinformTreeView如何控制滚动条位置不变-创新互联

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

创新互联建站专注为客户提供全方位的互联网综合服务,包含不限于网站设计、网站制作、盘州网络推广、小程序设计、盘州网络营销、盘州企业策划、盘州品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们大的嘉奖;创新互联建站为所有大学生创业者提供盘州建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com

 这几天碰到一个问题,写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().

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

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

  }  else

  {

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

  }

}

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

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


文章标题:C#中WinformTreeView如何控制滚动条位置不变-创新互联
链接URL:http://ybzwz.com/article/deiegi.html