WinForm開發中針對TreeView控件改變當前選擇節點的字體與顏色
在B/S開發中,對TreeView控件要改變當前選中節點的顏色比較方便,其有相應的SelectedNodeChanged事件進行控制,但對於WinForm則沒有這樣方便。申明一下,我在這兒所說的改變當前節點的字體與顏色,主要是在WinForm中的TreeView控件,當前選中節點後,其失去鼠標焦點後節點的字體與顏色失去了選中狀態,層級一多,我們就不知道當前選擇的是那個節點了。用戶體驗性稍微欠缺一些。其實實現方法非常簡單,主要用到TreeView的兩個事件,分別爲:BeforeSelect與AfterSelect事件。代碼如下:
TreeNode theLastNode = null;//最後選擇的節點(用於還原節點狀態)
{
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: [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 聯繫我,非常感謝。