• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
智美手机APP
国内最专业的智能手机APP应用解决方案提供商。智美手机APP为您提供成熟稳定的专业化产品、产品定制等服务。
博客园    首页    新随笔    联系   管理    订阅  订阅

设置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); 

            } 

} 


posted @ 2012-07-26 19:27  小敏博客园  阅读(16174)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3