我有一个表单,我使用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)
答案 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();