2

Penオブジェクトを使用して線を引くフォームがあります。

描画された線ごとに1つの共有オブジェクトペンを使用するのか、それとも1つのオブジェクトペンを使用するのか疑問に思います。

使用する方が良いです:(すべての行で共有される1つのオブジェクト)

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 に答える