Hogy a HatchBrush osztály milyen típusú ecsetet használ, az a HatchStyle felsorolt típus egy kiválasztott elemétől függ. Ha arra van szükségünk, mint most is, hogy az összes lehetőséget bemutassuk, akkor elég sok munkával járna egyesével leprogramozni minden típus megjelenítését. Ehelyett célszerűbb lenne egy olyan ciklust készíteni, mely végigmegy egy tetszőleges felsorolt típus összes elemén.
private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
...
HatchStyle hs = new HatchStyle();
Az Enum osztály segítségével erre is lehetőségünk nyílik. Első lépésként kérünk egy sztring tömböt, mely tartalmazni fogja az összes elem megnevezését.
string[] sa = Enum.GetNames(hs.GetType());
Második lépésként egy olyan tömböt hozunk létre, mely az adott elemek értékeit tartalmazza.
Array o = Enum.GetValues(hs.GetType());
...
Ezt követően máris jöhet egy ciklus, mely végigmegy az összes elemen.
foreach (string s in sa)
{
A cikluson belül kiírjuk a típus nevét.
g.DrawString(s, f, b, x+10, y, StringFormat.GenericDefault);
Majd rajzolunk egy téglalapot, mely a soron következő ecsettel lesz kitöltve.
g.FillRectangle(new System.Drawing.Drawing2D.HatchBrush((HatchStyle)o.GetValue(i++), Color.Red, Color.Yellow), x+170, y, 100, 20);
...
}