WinForm开发中针对TreeView控件改变当前选择节点的字体与颜色 

在B/S开发中,对TreeView控件要改变当前选中节点的颜色比较方便,其有相应的SelectedNodeChanged事件进行控制,但对于WinForm则没有这样方便。申明一下,我在这儿所说的改变当前节点的字体与颜色,主要是在WinForm中的TreeView控件,当前选中节点后,其失去鼠标焦点后节点的字体与颜色失去了选中状态,层级一多,我们就不知道当前选择的是那个节点了。用户体验性稍微欠缺一些。其实实现方法非常简单,主要用到TreeView的两个事件,分别为:BeforeSelect与AfterSelect事件。代码如下:

TreeNode theLastNode = null;//最后选择的节点(用于还原节点状态)

private void tvCustomerClass_AfterSelect(object sender, TreeViewEventArgs e)
        {         
            if (this.tvCustomerClass.SelectedNode != null)
            {
                theLastNode = tvCustomerClass.SelectedNode;              
            }                   
        }
        
        private void tvCustomerClass_BeforeSelect(object sender, TreeViewCancelEventArgs e)
        {
            e.Node.ForeColor = Color.Blue;
            e.Node.NodeFont = new Font("宋体", 10, FontStyle.Underline|FontStyle.Bold);
            if (theLastNode != null)
            {
                theLastNode.ForeColor = SystemColors.WindowText;
                theLastNode.NodeFont = new Font("宋体", 11, FontStyle.Regular);
            }
        }

效果如下:

如上图所示,我们当前选择的节点是“所有分类”下的“地区”,字体颜色改了,当其失去焦点后我们同样可以很清楚的知道当前选择的分类。

作者: Edward 
出处: http://www.cnblogs.com/umplatform

微博: 腾讯

Email: umplatform@126.com或 406590790@qq.com

QQ 交流:406590790 (请注明:平台交流)

QQ×××流:16653241 或 237326100

平台博客:【CNBLOGS】http://www.cnblogs.com/umplatform

【51CTO】http://umplatform.blog.51cto.com/  
关于作者:高级工程师、信息系统项目管理师、DBA。专注于微软平台项目架构、管理和企业解决方案,多年项目开发与管理经验,曾多次组织并开发多个大型项目,精通DotNet,DB(SqlServer、Oracle等)技术。熟悉Java、Delhpi及Linux操作系统,有扎实的网络知识。在面向对象、面向服务以及数据库领域有一定的造诣。现从事DB管理与开发、WinForm、WCF、WebService、网页数据抓取以及ASP.NET等项目管理、开发、架构等工作。

如有问题或建议,请多多赐教!
本文版权归作者和CNBLOGS博客共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过邮箱或QQ 联系我,非常感谢。

转载于:https://blog.51cto.com/umplatform/975310

WinForm开发中针对TreeView控件改变当前选择节点的字体与颜色相关推荐

  1. Winform编程中的treeview控件

    Winform编程中的treeview控件 treeview基础操作 treeview添加.删除节点操作 treeview节点展开与折叠 treeview节点重命名 treeview获取节点集合并设置 ...

  2. android开发中为MultiAutoCompleteTextView控件添加其他分隔符

    android开发中为MultiAutoCompleteTextView控件添加其他分隔符,例如:分隔符改为分号";" zs;ls;ww;xm //SemicolonTokeniz ...

  3. wpf展开树节点_WPF中展开一个TreeView控件的所有树节点

    在 Windows Form 应用中,我们碰到需要展开一个TreeView 控件的所有树节点的时候很简单,微软已经替我们提供了ExpandAll 方法,我们只要简单的一行代码tv_QTree.Expa ...

  4. VB.net小技巧——VB中利用TreeView控件和Box控件做知识备忘

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 VB.net小技巧--VB中利用TreeView控件和Box控件做知识备忘 这里不涉及代码的展示,主要是为了阐述一种做笔记的思想. 为 ...

  5. [转]在Winform(C#)中使用Flash控件

    关于添加Flash控件这里就不介绍了,网上能查到一大堆 VS2005在添加Shockwave时很多人都碰到一个这个问题,就是会说ActiveX注册失败 VS2003没有这样的问题,也不知是什么原因 没 ...

  6. ASP.Net中的TreeView控件中对节点的上移和下移操作

    Web中的TreeView中的没有PreNode和NextNode属性. 但它的集合属性中有一个IndexOf属性,从而能够找到它的前一个节点知后一个节点. TreeView中要么只有一个根节点:要么 ...

  7. Android开发中目前流行控件和知识点总结

    1.SlidingMenu 滑动菜单 应用案例:Facebook . Path 2.0 .人人.网易新闻 下载地址: https://github.com/jfeinstein10/SlidingMe ...

  8. WinCC笔记:01.TreeView控件 —— (2)连接数据库创建节点

    目录 一.最终效果图 二.数据库一览 三.代码 四.代码分析 一.最终效果图 二.数据库一览 这里使用的是SQL Server Tools 18,可以链接到WinCC自动生成的数据库.首先使用WinC ...

  9. asp.net treeview控件无刷新选择和删除节点的ajax方法

    转载 http://blog.csdn.net/luq885/article/details/1621681 如果节点被选择的话,节点所在的td的class属性就会被设置为TreeView1_1.   ...

最新文章

  1. 深拷贝与浅拷贝~动态内存释放有关
  2. 香农定理和奈奎斯特定理区别_这一切都从指数函数开始(4)——采样定理
  3. 工业用微型计算机(6)-指令系统(3)
  4. linux 控制终端卡,配置通过串口控制linux操作系统的终端
  5. html加载swf 进度条,教你用FLASH如何制作完整的loading
  6. java string转number_DataBinding的简单使用(java/kotlin)
  7. 粒子群算法matlab实现(新版)
  8. 【oracle】查看当前用户各个表的记录数
  9. 从金蝶k3到金税盘_金蝶k3怎样结转主营业务成本
  10. C语言输出数组中最大最小值及位序
  11. 检测相关问题面试准备
  12. 微服务架构设计思维导图总结
  13. 口袋电子秤方案芯片CSU18P88
  14. 一款开源好用的车辆管理系统源码,基于SSH框架和SaaS模式
  15. 移动魔百盒CM201-2,CH代工(nand,emmc)免拆-刷机固件
  16. Redis缓存详解(黑马-未完结)
  17. 手把手教你使用Python抓取QQ音乐数据!
  18. filezilla删除服务器文件,FileZilla的设置FTP服务器
  19. python中给变量赋值时、既确定了变量的值_Python 中的变量赋值不需要类型声明,可以直接赋值,通过值来决定变量的类型。_学小易找答案...
  20. JZ2440分区表梳理

热门文章

  1. .ajax跳过不执行,使用ajax跳过路由器登录界面
  2. 有哪些py写的黑科技_2020年汽车界又新增了哪些值得一提的黑科技产品?
  3. lyGrid列表格式化日期
  4. 笔记-软考高项-错题笔记汇总1
  5. CentOS中使用Dockerfile部署带websocket的SpringBoot的jar包
  6. Docker中运行命令时提示:Cannot connect to the Docker daemony...以及设置docker开机启动
  7. Vue中使用moment将时间戳数据格式化显示(el-table中)
  8. DevExpress的TreeList的常用属性设置以及常用事件
  9. Tkinter的Text组件
  10. 软考-信息系统项目管理师-组织级项目管理