帮助文件中有这样一段代码:
Dim p As WinForm.Painter = e.Form.Controls("Painter1")
Dim g As Graphics = p.Graphics
Dim points(3) As Point
points(0) = New Point(10, 10)
points(1) = New Point(10, 100)
points(2) = New Point(50, 10)
points(3) = New Point(10,10)
g.DrawLines(Pens.Green, points)
p.Repaint()
执行以后绘制出一个三角形。
如果我们将红色代码删掉,不会画出我们想象中的V形,而会从V形的最末一点引出一条通向(0,0)点的直线。
不管你将点设为几个,都将出现这个问题,除非你设为画一个封闭的多边形。
现在的问题是:
1、如果DrawLines仅仅是用于绘制多边形则显得多余,因为已经有了DrawPolygon.
2、当然,DrawLines还可以用来绘制非凸多边形,但是既然可以用指定点的方式来轻松达到这个目的,又为什么非要让它在参数为非封闭点集时拥有一个不伦不类的默认(0,0)点功能呢?这可真是一个画蛇添足的事。
大家可以测试一下,如果觉得我说得有道理,都向狐爸反映一下,看能不能改进。