設置TabControl控件的樣式。背景顏色


屬性中,並沒有直接設置控件的BackImage屬性,沒辦法設置主控件的背景。 
以下我給大家提供一個簡單的方法(本人不是專業做美工的,並沒有多少美化功底,具體的顏色搭配,自己看着辦把!呵呵) 
第一步: 
       設置TabControl控件(名稱以tclDemo為例)的DrawMode屬性為:OwnerDrawFixed;用於指定由用戶來繪制標題 


第二步:注冊TabControl控件的DrawItem事件: 


第三步: 


private void tclDemo_DrawItem(object sender, DrawItemEventArgs e) 



            //獲取TabControl主控件的工作區域 

            Rectangle rec = tclDemo.ClientRectangle; 



            //獲取背景圖片,我的背景圖片在項目資源文件中。 

            Image backImage = Resources.楓葉; 



            //新建一個StringFormat對象,用於對標簽文字的布局設置 

            StringFormat StrFormat = new StringFormat(); 

            StrFormat.LineAlignment = StringAlignment.Center;// 設置文字垂直方向居中 

            StrFormat.Alignment = StringAlignment.Center;// 設置文字水平方向居中          

            // 標簽背景填充顏色,也可以是圖片 

    SolidBrush bru = new SolidBrush(Color.FromArgb(72, 181, 250)); 

            SolidBrush bruFont = new SolidBrush(Color.FromArgb(217, 54, 26));// 標簽字體顏色 

            Font font = new System.Drawing.Font("微軟雅黑",12F);//設置標簽字體樣式 



            //繪制主控件的背景 

            e.Graphics.DrawImage(backImage, 0, 0, tclDemo.Width, tclDemo.Height); 

            //繪制標簽樣式 

            for (int i = 0; i < tclDemo.TabPages.Count; i++) 

            { 

                //獲取標簽頭的工作區域 

                Rectangle recChild = tclDemo.GetTabRect(i); 

                //繪制標簽頭背景顏色 

                e.Graphics.FillRectangle(bru, recChild); 

                //繪制標簽頭的文字 

                e.Graphics.DrawString(tclDemo.TabPages[i].Text,font,bruFont,recChild,StrFormat); 

            } 





免責聲明!

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



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