Foxtable(狐表)用户栏目专家坐堂 → 为什么Line的右端锚定属性不起作用


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

主题:为什么Line的右端锚定属性不起作用

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


加好友 发短信
等级:四尾狐 帖子:876 积分:5929 威望:0 精华:0 注册:2014/8/3 12:15:00
为什么Line的右端锚定属性不起作用  发帖心情 Post By:2014/11/30 17:52:00 [显示全部帖子]

 ctl = e.Form.CreateControl("LineRH" & e.form.controls("LineRH_number").text, ControlTypeEnum.line)
ctl.ThickNess = 4
ctl.LineColor = Color.SteelBlue
ctl.width = 60
ctl.Height = 4
ctl.anchor = Windows.Forms.AnchorStyles.Top Or Windows.Forms.AnchorStyles.Right

If ctl IsNot Nothing Then
Dim body As object = e.Form.controls("pnl_body")

ctl.Left = 100
ctl.Top = 100

body.AddControl(ctl)
End If

上述代码没有起到右端锚定的作用,请指教


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


加好友 发短信
等级:四尾狐 帖子:876 积分:5929 威望:0 精华:0 注册:2014/8/3 12:15:00
  发帖心情 Post By:2014/11/30 18:25:00 [显示全部帖子]

Line没有right属性吗,现在只要创建Line就得使用left,top属性,如果有right和bottom属性,就可以在动态改变width情况下线的右点始终不动,现在改变线的宽度线的左点始终不动


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


加好友 发短信
等级:四尾狐 帖子:876 积分:5929 威望:0 精华:0 注册:2014/8/3 12:15:00
  发帖心情 Post By:2014/11/30 19:18:00 [显示全部帖子]

但是当鼠标活动范围超过右边原来线段的右端点位置时,鼠标折返向“左”运动“起始点”就变了,变成“折返点”开始向左移动left了


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


加好友 发短信
等级:四尾狐 帖子:876 积分:5929 威望:0 精华:0 注册:2014/8/3 12:15:00
  发帖心情 Post By:2014/11/30 20:51:00 [显示全部帖子]

那还需要paint控件吗

 


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


加好友 发短信
等级:四尾狐 帖子:876 积分:5929 威望:0 精华:0 注册:2014/8/3 12:15:00
  发帖心情 Post By:2014/11/30 20:57:00 [显示全部帖子]

e.Form.Panel.CreateGraphics (“pn”)

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


加好友 发短信
等级:四尾狐 帖子:876 积分:5929 威望:0 精华:0 注册:2014/8/3 12:15:00
  发帖心情 Post By:2014/11/30 20:58:00 [显示全部帖子]

是这样吗

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


加好友 发短信
等级:四尾狐 帖子:876 积分:5929 威望:0 精华:0 注册:2014/8/3 12:15:00
  发帖心情 Post By:2014/11/30 20:58: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()

 

以上代码如何改呢


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


加好友 发短信
等级:四尾狐 帖子:876 积分:5929 威望:0 精华:0 注册:2014/8/3 12:15:00
  发帖心情 Post By:2014/11/30 21:01: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()

 

按照您的说法,上述代码如何改呢


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


加好友 发短信
等级:四尾狐 帖子:876 积分:5929 威望:0 精华:0 注册:2014/8/3 12:15:00
  发帖心情 Post By:2014/11/30 22:53:00 [显示全部帖子]

Dim ctl As Object
    Dim ctla As Object
    Dim ctlb As Object
        ctl =e.Form.Panel.CreateGraphics
        ctla = e.Form.CreateControl("aLineH", ControlTypeEnum.panel)
        ctlb = e.Form.CreateControl("bLineH", ControlTypeEnum.panel)
       
        ctla.backColor = Color.SteelBlue
        ctla.width = 8
        ctla.Height = 8
       
        ctlb.backColor = Color.SteelBlue
        ctlb.width = 8
        ctlb.Height = 8
       
       
        ctla.left = 300
        ctla.Top = 100
        ctlb.left = 100
        ctlb.Top = 300
        e.Form.AddControl(ctla)
        e.Form.AddControl(ctlb)
        Dim g As Graphics = ctl.Graphics
        g.DrawLine(Pens.Red,ctlb.left,ctlb.Top,ctla.left,ctla.Top)
        ctl.Repaint()

此段代码报错“未找到类型“Graphics”的公共成员“Graphics”。”

请帮助


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


加好友 发短信
等级:四尾狐 帖子:876 积分:5929 威望:0 精华:0 注册:2014/8/3 12:15:00
  发帖心情 Post By:2014/11/30 23:49:00 [显示全部帖子]

Dim ctl As Object
Dim ctla As Object
Dim ctlb As Object
ctla = e.Form.CreateControl("aLineH", ControlTypeEnum.panel)
ctlb = e.Form.CreateControl("bLineH", ControlTypeEnum.panel)
ctla.backColor = Color.SteelBlue
ctla.width = 8
ctla.Height = 8

ctlb.backColor = Color.SteelBlue
ctlb.width = 8
ctlb.Height = 8

Dim body As object = e.Form.controls("pnl_body")
ctla.left = 300
ctla.Top = 100
ctlb.left = 100
ctlb.Top = 300
body.AddControl(ctla)
body.AddControl(ctlb)
Dim pn As New Pen(Color.red, 5)
ctl =e.Form.Panel.CreateGraphics

ctl.DrawLine(pn,ctlb.left,ctlb.Top,ctla.left,ctla.Top)
上述代码输出效果线不在面板“pnl_body”中,而且坐标是窗口的坐标,怎么回事呢?请帮助


 回到顶部
总数 18 1 2 下一页