多个Pen对象C#

时间:2013-01-17 16:16:40

标签: c# object draw pen

我有一个表单,我使用Pen对象绘制一些行。

我想知道我是否应该使用一个共享对象笔,或者每行绘制一个对象笔。

最好使用:(所有行共享一个对象)

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

或以下内容:(每行是一个对象)

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

事实上,这两个例子都做我想要的,但我想知道在这种情况下最推荐的是什么。

注意:我使用的是C#(WinForms)

2 个答案:

答案 0 :(得分:4)

如果我是你

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

答案 1 :(得分:2)

看一下这个:What happens if I don't call Dispose on the pen object? 这似乎在这里得到了完美的解释......

为了保持简短,这个似乎更好:

Pen green = new Pen(Color,size);

foreach(line to be drawn)
   graphics.DrawLine(green, x1, y1, x2, y2);

green.Dispose();