TabControl选中的标签的头部颜色

来源:互联网 发布:粤知一二肥龙个人资料 编辑:程序博客网 时间:2024/05/20 07:32
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace testTabFlash{    public partial class Form1 : Form    {        public Form1()        {            InitializeComponent();            this.tabControl1.DrawMode = System.Windows.Forms.TabDrawMode.OwnerDrawFixed;            this.tabControl1.DrawItem += new DrawItemEventHandler(this.tabControl1_DrawItem);        }        private void Form1_Load(object sender, EventArgs e)        {        }        private void tabControl1_DrawItem(object sender, System.Windows.Forms.DrawItemEventArgs e)        {            Font fntTab;            Brush bshBack;            Brush bshFore;if (e.Index == this.tabControl1.SelectedIndex)    //当前Tab页的样式            {                fntTab = new Font(e.Font, FontStyle.Bold);                bshBack = new System.Drawing.Drawing2D.LinearGradientBrush(e.Bounds, SystemColors.Control, SystemColors.Control, System.Drawing.Drawing2D.LinearGradientMode.BackwardDiagonal);                bshFore = Brushes.Black;            }            else    //其余Tab页的样式            {                fntTab = e.Font;                bshBack = new SolidBrush(Color.Blue);                bshFore = new SolidBrush(Color.Black);            }            //画样式            string tabName = this.tabControl1.TabPages[e.Index].Text;            StringFormat sftTab = new StringFormat();            e.Graphics.FillRectangle(bshBack, e.Bounds);            Rectangle recTab = e.Bounds;            recTab = new Rectangle(recTab.X, recTab.Y + 4, recTab.Width, recTab.Height - 4);            e.Graphics.DrawString(tabName, fntTab, bshFore, recTab, sftTab);        }    }}

0 0
原创粉丝点击