Share via


SolidBrush 类

定义单色画笔。画笔用于填充图形形状,如矩形、椭圆、扇形、多边形和封闭路径。无法继承此类。

**命名空间:**System.Drawing
**程序集:**System.Drawing(在 system.drawing.dll 中)

语法

声明
Public NotInheritable Class SolidBrush
    Inherits Brush
用法
Dim instance As SolidBrush
public sealed class SolidBrush : Brush
public ref class SolidBrush sealed : public Brush
public final class SolidBrush extends Brush
public final class SolidBrush extends Brush

备注

此类从 Brush 类继承。

示例

下面的代码示例使用下列成员向 ListBox 中添加阴影:

此示例旨在用于 Windows 窗体。若要运行此示例,请将该代码粘贴到一个窗体中并在处理该窗体的 Paint 事件时调用 AddShadow 方法。确保该窗体包含一个名为 listBox1ListBox

Private Sub AddShadow(ByVal e As PaintEventArgs)

    ' Create two SizeF objects.
    Dim shadowSize As SizeF = Size.op_Implicit(listBox1.Size)
    Dim addSize As New SizeF(10.5F, 20.8F)

    ' Add them together and save the result in shadowSize.
    shadowSize = SizeF.op_Addition(shadowSize, addSize)

    ' Get the location of the ListBox and convert it to a PointF.
    Dim shadowLocation As PointF = Point.op_Implicit(listBox1.Location)

    ' Add a Size to the Point to get a new location.
    shadowLocation = PointF.op_Addition(shadowLocation, New Size(5, 5))

    ' Create a rectangleF. 
    Dim rectFToFill As New RectangleF(shadowLocation, shadowSize)

    ' Create a custom brush using a semi-transparent color, and 
    ' then fill in the rectangle.
    Dim customColor As Color = Color.FromArgb(50, Color.Gray)
    Dim shadowBrush As SolidBrush = New SolidBrush(customColor)
    e.Graphics.FillRectangles(shadowBrush, _
        New RectangleF() {rectFToFill})

    ' Dispose of the brush.
    shadowBrush.Dispose()
End Sub
private void AddShadow(PaintEventArgs e)
{

    // Create two SizeF objects.
    SizeF shadowSize = listBox1.Size;
    SizeF addSize = new SizeF(10.5F, 20.8F);

    // Add them together and save the result in shadowSize.
    shadowSize = shadowSize + addSize;

    // Get the location of the ListBox and convert it to a PointF.
    PointF shadowLocation = listBox1.Location;

    // Add two points to get a new location.
    shadowLocation = shadowLocation + new Size(5, 5);

    // Create a rectangleF. 
    RectangleF rectFToFill = 
        new RectangleF(shadowLocation, shadowSize);

    // Create a custom brush using a semi-transparent color, and 
    // then fill in the rectangle.
    Color customColor = Color.FromArgb(50, Color.Gray);
    SolidBrush shadowBrush = new SolidBrush(customColor);
    e.Graphics.FillRectangles(shadowBrush, new RectangleF[]{rectFToFill});

    // Dispose of the brush.
    shadowBrush.Dispose();
}
private:
   void AddShadow( PaintEventArgs^ e )
   {
      // Create two SizeF objects.
      SizeF shadowSize = listBox1->Size;
      SizeF addSize = SizeF(10.5F,20.8F);

      // Add them together and save the result in shadowSize.
      shadowSize = shadowSize + addSize;

      // Get the location of the ListBox and convert it to a PointF.
      PointF shadowLocation = listBox1->Location;

      // Add two points to get a new location.
      shadowLocation = shadowLocation + System::Drawing::Size( 5, 5 );

      // Create a rectangleF. 
      RectangleF rectFToFill = RectangleF(shadowLocation,shadowSize);

      // Create a custom brush using a semi-transparent color, and 
      // then fill in the rectangle.
      Color customColor = Color::FromArgb( 50, Color::Gray );
      SolidBrush^ shadowBrush = gcnew SolidBrush( customColor );
      array<RectangleF>^ temp0 = {rectFToFill};
      e->Graphics->FillRectangles( shadowBrush, temp0 );

      // Dispose of the brush.
      delete shadowBrush;
   }
private void AddShadow(PaintEventArgs e)
{
    // Create two SizeF objects.
    SizeF shadowSize = Size.op_Implicit(listBox1.get_Size());
    SizeF addSize = new SizeF(10.5F, 20.8F);

    // Add them together and save the result in shadowSize.
    shadowSize.set_Width(shadowSize.get_Width() + addSize.get_Width());
    shadowSize.set_Height(shadowSize.get_Height() + addSize.get_Height());

    // Get the location of the ListBox and convert it to a PointF.
    PointF shadowLocation = Point.op_Implicit(listBox1.get_Location());

    // Add two points to get a new location.
    shadowLocation.set_X(shadowLocation.get_X()  
        + (new Size(5, 5).get_Width()));
    shadowLocation.set_Y(shadowLocation.get_Y()  
        + (new Size(5, 5).get_Height()));
    
    // Create a rectangleF. 
    RectangleF rectFToFill = new RectangleF(shadowLocation, shadowSize);

    // Create a custom brush using a semi-transparent color, and 
    // then fill in the rectangle.
    Color customColor = Color.FromArgb(50, Color.get_Gray());
    SolidBrush shadowBrush = new SolidBrush(customColor);

    e.get_Graphics().FillRectangles(shadowBrush, 
        new RectangleF[] { rectFToFill });

    // Dispose of the brush.
    shadowBrush.Dispose();
} //AddShadow

继承层次结构

System.Object
   System.MarshalByRefObject
     System.Drawing.Brush
      System.Drawing.SolidBrush

线程安全

此类型的任何公共静态(Visual Basic 中的 Shared)成员都是线程安全的,但不保证所有实例成员都是线程安全的。

平台

Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition

.NET Framework 并不是对每个平台的所有版本都提供支持。有关受支持版本的列表,请参见系统要求

版本信息

.NET Framework

受以下版本支持:2.0、1.1、1.0

.NET Compact Framework

受以下版本支持:2.0、1.0

请参见

参考

SolidBrush 成员
System.Drawing 命名空间