Foxtable(狐表)用户栏目专家坐堂 → 这个画图有什么错误啊


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

主题:这个画图有什么错误啊

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


加好友 发短信
等级:小狐 帖子:389 积分:3874 威望:0 精华:0 注册:2016/4/25 17:36:00
这个画图有什么错误啊  发帖心情 Post By:2020/2/24 17:00:00 [只看该作者]

老师,我想动态增加多个painter,用来画田字格,但是我下面的代码,如果是换成panel,是正常添加,而且正常画出来的,但是改成painter怎么就画不出来了?
Dim p As WinForm.Painter '定义添加的画板
Dim Total_num As Integer = Colors.Length * sizes.Length '定义总共画多少个框
Dim rt_Height As Integer = 70 '每个田字格的高度
Dim rt_Width As Integer = 35 '每个田字格的宽度
Dim py_x As Integer = 10 'X从哪里画起
Dim py_y As Integer = 10 'Y从哪里画起
Dim idx As Integer = 1
For i As Integer = 0 To Colors.Length - 1 '先循环几个颜色画边框
    For j As Integer = 0 To Sizes.Length - 1 '循环几个尺码画边框
        p = e.Form.CreateControl("p" & idx, ControlTypeEnum.Painter) '定义要增加控件,控件名p1,p2......
        p.Width= rt_Width
        p.Height = rt_Height
        p.left = py_x + j * rt_Width
        p.Top = py_y + i * rt_Height
        'p.BorderStyle = BorderStyle.FixedSingle
        e.Form.Controls("pnlPLU").AddControl(p) '在panel父容器中增加子原件
        idx = idx + 1 '控件名往后增加1
        Dim g As Graphics = p.Graphics
        Dim n As New Pen(Color.Red,1) '以画笔为1的粗细画矩形
        g.DrawRectangle(n,p.Left,p.Top,p.Width,p.Height)
        p.Repaint()
    Next
Next

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


加好友 发短信
等级:超级版主 帖子:107133 积分:544908 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/24 17:19:00 [只看该作者]

控件的位置设置有问题,最终要什么效果,画图看看

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


加好友 发短信
等级:小狐 帖子:389 积分:3874 威望:0 精华:0 注册:2016/4/25 17:36:00
  发帖心情 Post By:2020/2/24 17:32:00 [只看该作者]

用panel画出来是正确的,换成painter就不对了,就想画成这样的效果
图片点击可在新窗口打开查看此主题相关图片如下:无标题.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:超级版主 帖子:107133 积分:544908 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/24 17:49:00 [只看该作者]

g.DrawRectangle(n,0,0,p.Width-1,p.Height-1)

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


加好友 发短信
等级:小狐 帖子:389 积分:3874 威望:0 精华:0 注册:2016/4/25 17:36:00
  发帖心情 Post By:2020/2/24 18:24:00 [只看该作者]

哦哦,这意思就是,g其实是在p里面画图的,有点子控件的那个感觉,所以从p的,left,top开始,所以是0,0这个意思吧

 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107133 积分:544908 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/2/24 20:14:00 [只看该作者]

嗯,绘制的参考坐标为p控件,而不是窗口

 回到顶部