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

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

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

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

private voidtvCustomerClass_AfterSelect( objectsender,TreeViewEventArgse)
{
if( this.tvCustomerClass.SelectedNode!= null)
{
theLastNode=tvCustomerClass.SelectedNode;
}
}

private voidtvCustomerClass_BeforeSelect( objectsender,TreeViewCancelEventArgse)
{
e.Node.ForeColor=Color.Blue;
e.Node.NodeFont= newFont( " 宋体 ", 10,FontStyle.Underline|FontStyle.Bold);
if(theLastNode!= null)
{
theLastNode.ForeColor=SystemColors.WindowText;
theLastNode.NodeFont= newFont( " 宋体 ", 11,FontStyle.Regular);
}
}

效果如下:

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

<!-- JiaThis Button BEGIN -->

分享到: 更多

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

微博: 腾讯

Email: [email protected][email protected]

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
联系我,非常感谢。

<!-- JiaThis Button END -->

猜你喜欢

转载自chinahuyong.iteye.com/blog/2171925