本文共 1667 字,大约阅读时间需要 5 分钟。
新建窗体程序,命名为”Form6_TabControl“
窗口界面如下:
将【tabControl】控件的【DrawMode】属性修改为”OwnerDrawFixed“
设计界面变为tabControl控件的事件属性页,添加【DrawItem】事件
编辑【DrawItem】事件
//初始化tabcontrol选项页颜色 private void tabControl1_DrawItem(object sender, DrawItemEventArgs e) { //设置笔刷 SolidBrush yellow = new SolidBrush(Color.Yellow); SolidBrush orange = new SolidBrush(Color.Orange); SolidBrush green = new SolidBrush(Color.Green); SolidBrush black = new SolidBrush(Color.Black); //设置标签文字水平垂直居中 StringFormat stringFormat = new StringFormat(); stringFormat.Alignment = StringAlignment.Center; //水平方向居中 stringFormat.LineAlignment = StringAlignment.Center; //垂直方向居中 //逐个绘制各个标签页的背景颜色,包括黄色、蓝色、绿色等 //绘制黄色背景 Rectangle rec1 = tabControl1.GetTabRect(0); e.Graphics.FillRectangle(yellow, rec1); //MessageBox.Show("显示黄色标签"); //绘制蓝色背景 Rectangle rec2 = tabControl1.GetTabRect(1); e.Graphics.FillRectangle(orange, rec2); //MessageBox.Show("显示蓝色标签"); //绘制绿色背景 Rectangle rec3 = tabControl1.GetTabRect(2); e.Graphics.FillRectangle(green, rec3); //MessageBox.Show("显示绿色标签"); //设置文字颜色 for(int i = 0; i < tabControl1.TabPages.Count; i++) { Rectangle rec = tabControl1.GetTabRect(i); //设置标签文字字体和文字大小 e.Graphics.DrawString(tabControl1.TabPages[i].Text, new Font("宋体", 9), black, rec, stringFormat); } }运行代码结果
注:程序运行时将字体由宋体改为了楷体
转载地址:http://onabi.baihongyu.com/