Search code examples
c#objectdrawpen

Multiple Pen objects C#


I have a form in which i draw some lines using the Pen object.

I'm wondering if i should use one shared object Pen, or one object Pen per line drawn.

Is is better to use: (one object shared by all lines)

Pen green;
green = new Pen(Color,size);
foreach(line to be drawn)
   graphics.DrawLine(green, x1, y1, x2, y2);

Or the following: (each line is an object)

foreach(line to be drawn)
   Pen green = new Pen(Color.Green, 3);
   graphics.DrawLine(green, x1, y1, x2, y2);
   green.Dispose();

In fact, both examples do what I want, but i'm wondering what is most recommended in this case.

Note: I'm using C# (WinForms)


Solution

  • If I were you

    using (var green = new Pen(Color,size)
    {
        foreach(line to be drawn)
        {
            graphics.DrawLine(green, x1, y1, x2, y2);
        }
    }