重点:tabControl_event_sms.Invalidate();可以触发DrawItem事件。
属性中,并没有直接设置控件的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;// 设置文字水平方向居中
// 标签背景填充颜色,也可以是图片