WinForm開發中針對TreeView控件改變當前選擇節點的字體與顏色

 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: [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
 聯繫我,非常感謝。

  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章