This documentation is archived and is not being maintained.

HatchBrush Class

Defines a rectangular brush with a hatch style, a foreground color, and a background color. This class cannot be inherited.


Namespace:  System.Drawing.Drawing2D
Assembly:  System.Drawing (in System.Drawing.dll)

public sealed class HatchBrush : Brush

The HatchBrush type exposes the following members.

Public methodHatchBrush(HatchStyle, Color)Initializes a new instance of the HatchBrush class with the specified HatchStyle enumeration and foreground color.
Public methodHatchBrush(HatchStyle, Color, Color)Initializes a new instance of the HatchBrush class with the specified HatchStyle enumeration, foreground color, and background color.

Public propertyBackgroundColorGets the color of spaces between the hatch lines drawn by this HatchBrush object.
Public propertyForegroundColorGets the color of hatch lines drawn by this HatchBrush object.
Public propertyHatchStyleGets the hatch style of this HatchBrush object.

Public methodCloneCreates an exact copy of this HatchBrush object. (Overrides Brush.Clone().)
Public methodCreateObjRefCreates an object that contains all the relevant information required to generate a proxy used to communicate with a remote object. (Inherited from MarshalByRefObject.)
Public methodDispose()Releases all resources used by this Brush object. (Inherited from Brush.)
Protected methodDispose(Boolean)Releases the unmanaged resources used by the Brush and optionally releases the managed resources. (Inherited from Brush.)
Public methodEquals(Object)Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Brush.)
Public methodGetHashCodeServes as a hash function for a particular type. (Inherited from Object.)
Public methodGetLifetimeServiceRetrieves the current lifetime service object that controls the lifetime policy for this instance. (Inherited from MarshalByRefObject.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodInitializeLifetimeServiceObtains a lifetime service object to control the lifetime policy for this instance. (Inherited from MarshalByRefObject.)
Protected methodMemberwiseClone()Creates a shallow copy of the current Object. (Inherited from Object.)
Protected methodMemberwiseClone(Boolean)Creates a shallow copy of the current MarshalByRefObject object. (Inherited from MarshalByRefObject.)
Protected methodSetNativeBrushIn a derived class, sets a reference to a GDI+ brush object. (Inherited from Brush.)
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)

A hatch pattern is made from two colors: one defined by the BackgroundColor, which fills the background and one for the lines that form the pattern over the background defined by the ForegroundColor property. The HatchStyle property defines what type of pattern the brush has and can be any value from the HatchStyle enumeration. There are more than fifty elements in the HatchStyle enumeration.

The following illustration shows an ellipse filled with a horizontal hatch pattern.

Hatch Pattern

The following example shows how to create the HatchBrush shown in the previous illustration.

HatchBrush hBrush = new HatchBrush(
   Color.FromArgb(255, 128, 255, 255));
e.Graphics.FillEllipse(hBrush, 0, 0, 100, 60);

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.