Foxtable(狐表)用户栏目专家坐堂 → 不知这算不算一个bug


  共有3626人关注过本帖树形打印复制链接

主题:不知这算不算一个bug

帅哥哟,离线,有人找我吗?
东坡一剑
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:366 积分:2478 威望:0 精华:0 注册:2013/1/13 23:43:00
不知这算不算一个bug  发帖心情 Post By:2013/10/21 11:57:00 [只看该作者]

帮助文件中有这样一段代码:

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)点功能呢?这可真是一个画蛇添足的事。

 

大家可以测试一下,如果觉得我说得有道理,都向狐爸反映一下,看能不能改进。


 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/10/21 12:00:00 [只看该作者]

Dim p As WinForm.Painter = e.Form.Controls("Painter1")
Dim g As Graphics = p.Graphics
Dim points(2) As Point
points(0) = New Point(10, 10)
points(1) = New Point(10, 100)
points(2) = New Point(50, 10)
g.DrawLines(Pens.Green, points)
p.Repaint()

 回到顶部
帅哥哟,离线,有人找我吗?
东坡一剑
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:366 积分:2478 威望:0 精华:0 注册:2013/1/13 23:43:00
  发帖心情 Post By:2013/10/21 12:16:00 [只看该作者]

谢谢!学习了,唐突之处请见谅!

 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47448 积分:251060 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/10/21 12:40:00 [只看该作者]

呵呵,没有唐突可言,有问题尽管上论坛提问。

 回到顶部