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);
            }
        }

 

     效果如下:

 

 

 如上圖所示,我們當前選擇的節點是“所有分類”下的“地區”,字體顏色改了,當其失去焦點后我們同樣可以很清楚的知道當前選擇的分類。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM