2

我有一个表格,我在其中使用 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)

4

2 回答 2

4

如果我是你

using (var green = new Pen(Color,size)
{
    foreach(line to be drawn)
    {
        graphics.DrawLine(green, x1, y1, x2, y2);
    }
}
于 2013-01-17T16:30:27.413 回答
2

看看这个:如果我不在笔对象上调用 Dispose 会发生什么? 似乎在这里得到了完美的解释......

简而言之,这个似乎更好:

Pen green = new Pen(Color,size);

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

green.Dispose();
于 2013-01-17T16:23:31.747 回答