DotNet(C#)自定义控件之界面编程(一)

写在前面:在填充一个区域的颜色,就少不了Brush,微软MSDN对Brush的解释是:GDI+ Brush 对象用于填充闭合形状的内部。GDI+ 定义多种填充样式:纯色、阴影图案、图像纹理和颜色渐变。也就是在Fill的方法中使用到的,而因为填充的Brush可以是单色或多色,这使到控件十分美观,特别是LinearGradientBrush的使用使控件增色不少。它是一个过渡色的意思。

纯色(单色)填充形状
SolidBrush是由一个单一的颜色组成的形状颜色填充,再设置一个画的区域,如一个正方形或圆形就可以了
     

    protected   override   void  OnPaint(PaintEventArgs e)
        
{
            
base.OnPaint(e);
            Graphics g 
= e.Graphics;
            g.FillRectangle(
new SolidBrush(Color.Blue), 
                
new Rectangle(0,0,this.Width-1,this.Height-1)
                );
        }

 

以上代码,你只要随便新建一个用户控件,然后在Class中增加就可以,编译后,新建一个Form,打开工具箱,就会自动增加一个控件,默认情况下,这个控件是UserControl1,显示的效果是
 

阴影图案填充形状
使用阴影图案填充形状,有两个颜色的参数,一个是填充区域的背景色,而另一个是在背景上再画一系列线条.
 

protected   override   void  OnPaint(PaintEventArgs e)
        
{
            
base.OnPaint(e);
            Graphics g 
= e.Graphics;
            HatchBrush hBrush 
= new HatchBrush(
               HatchStyle.Horizontal,
               Color.Red,
               Color.FromArgb(
255128255255));
            g.FillEllipse(hBrush, 
0010060);
        }

 

这个HatchBrush 是命令空间System.Drawing.Drawing2D的类。

渐变色填充
LinearGradientBrush的使用
这是命令空间System.Drawing.Drawing2D的类
下面的代码是画一个有渐变色的椭圆。
    

     protected   override   void  OnPaint(PaintEventArgs e)
        
{
            
base.OnPaint(e);
            Graphics g 
= e.Graphics;
            LinearGradientBrush lBrush 
= new LinearGradientBrush(
               ClientRectangle,
               Color.White,
               Color.Red, LinearGradientMode.Vertical);
            g.FillEllipse(lBrush, 
0010060);
        }

 

效果图如下
 
LinearGradientBrush能够提供渐变色的效果,而且操作很简单,所以经常被使用,LinearGradientMode是渐变的方向,如垂直,水平,倾斜等等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值