C# TabConTrol控件背景颜色

转载 2016年06月01日 09:22:19
C# TabConTrol控件背景颜色问题
2011-11-13      0 个评论      
收藏    我要投稿

大家肯定都遇到过这样的问题,在做WinForm项目的时候,需要对窗体和控件进行美化,而使用第三方控件的话也没有什么免费的,这时就需要自己VS 自带的美化样式进行美化,而当美化到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);

 

            }

 

}

 

 

 

 

来看看效果吧!

 

\

只是为了给大家演示以一个简单的方法设置TabControl控件的样式,颜色搭配,就交给美工了!!!

相关文章推荐

c#重写TabControl控件实现关闭按钮

1.c#里面的TabControl控件没有关闭按钮,而且很难看。 2.有一些已经做好的第三方控件,但是收费。 3.由于我的故障树推理诊断项目在绘图的时候允许同时打开多个文档进行操作,就要实现类似于...

VB.net对于datagride控件的使用及C#中datagrideView\bindingSource\bindingNavigator\tabcontrol控件的应用

//绑定数据源                 DataSet ds = new DataSet();    ...

C# TabControl控件美化

  • 2012-09-13 09:20
  • 340KB
  • 下载

C#学习笔记:设置label(标签)控件的背景颜色为透明

有时候,我们需要将控件的背景颜色设定为透明,比如说label(标签)控件。那么,如何将控件的背景颜色设定为透明?是不是只要将控件的BackColor属性设为Transparent(透明)就可以了呢?答...

C# TabControl控件美化

  • 2012-02-29 20:20
  • 340KB
  • 下载

VC中TabControl控件使用方法(转载)

最近需要用Qt做上位机,觉得Qt和之前用过的VC还是比较熟的,所以首先熟悉一下以后要用在Qt下的控件,另外也熟悉一下有很久没有摸过的VC。下面我们来看一下使用步骤。1. 新建一个MFC工程,取名xyT...

C# tabControl控件使用

  • 2013-10-09 12:01
  • 159KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)