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

...
{
base.OnPaint(e);
Graphics g = e.Graphics;
HatchBrush hBrush = new HatchBrush(
HatchStyle.Horizontal,
Color.Red,
Color.FromArgb(255, 128, 255, 255));
g.FillEllipse(hBrush, 0, 0, 100, 60);
}
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, 0, 0, 100, 60);
}
纯色(单色)填充形状
SolidBrush是由一个单一的颜色组成的形状颜色填充,再设置一个画的区域,如一个正方形或圆形就可以了










以上代码,你只要随便新建一个用户控件,然后在Class中增加就可以,编译后,新建一个Form,打开工具箱,就会自动增加一个控件,默认情况下,这个控件是UserControl1,显示的效果是
阴影图案填充形状
使用阴影图案填充形状,有两个颜色的参数,一个是填充区域的背景色,而另一个是在背景上再画一系列线条.












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












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