如何在所有绘制的点之间画一条线?

时间:2015-05-15 09:02:39

标签: c# .net winforms

在我做的油漆事件中:

List<Point> drawPoints = GetDrawPoints();

if (drawPoints.Count > 1)
{
    foreach (Point p in drawPoints)
    {
        e.Graphics.DrawLine(pen, p.X - 2, p.Y - 2, 4, 4);
    }
}

但不是在后续点之间绘制线条,而是从同一个地方到每个点绘制两条线。

我想用一条线连接所有点。

2 个答案:

答案 0 :(得分:5)

使用DrawLines并将List作为数组传递:

foreach()

答案 1 :(得分:3)

你在某种程度上回答了自己的问题。要绘制一条线,至少需要两点。但是你一直在同一地点之间画新闻。 (您的变量点和位于(4; 4)中的点)。您需要不断更新foreach中的两个点并正确打印它们。

更好的是,使用DrawLines功能,并提供点列表。有类似的东西:

no or one or two pair of parentheses