以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何动态增加控件,并且注册事件,可以拖动控件  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=40402)

--  作者:longtechwj
--  发布时间:2013/9/18 9:15:00
--  如何动态增加控件,并且注册事件,可以拖动控件

如何动态增加控件,并且注册事件,可以拖动控件

位置我自己会控制的


--  作者:程兴刚
--  发布时间:2013/9/18 9:18:00
--  
控件可以拖动,论坛有例子,代码在全局事件中写,只是需要判断控件名称!
--  作者:Bin
--  发布时间:2013/9/18 9:18:00
--  
论坛上有很多动态增加控件的例子,你可以找找看.

帮助也有狐表自身的动态增加控件




--  作者:longtechwj
--  发布时间:2013/9/18 10:34:00
--  

主要是能够移动控件,用代码做专业报表

位置控制很慢,想自己弄个工具


--  作者:程兴刚
--  发布时间:2013/9/18 10:43:00
--  
拖动控件位置,狐表自身的功能即可解决!
[此贴子已经被作者于2013-9-18 10:43:10编辑过]

--  作者:逛逛
--  发布时间:2013/9/18 11:02:00
--  

狐表自身的

你可以该在窗口的全局事件里

 

 

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:控件移动.table

[此贴子已经被作者于2013-9-18 11:06:01编辑过]

--  作者:lsy
--  发布时间:2013/9/18 12:03:00
--  

MouseDown

e.Form.Text = e.X & "|" & e.Y

MouseUp(优点:不闪烁;缺点:不能即时看到控件移动,松开鼠标时才会看到新位置的控件)

If e.X & "|" & e.Y <> e.Form.Text Then
    e.Sender.Left = e.X + e.Sender.Left - e.Form.Text.Split("|")(0)   
    e.Sender.Top = e.Y + e.Sender.Top - e.Form.Text.Split("|")(1)  
End If

 

MouseMove(优点:能即时看到控件移动;缺点:控件较大时,会有闪烁。)

If e.Button = MouseButtons.Left Then
    If e.X & "|" & e.Y <> e.Form.Text Then
        e.Sender.Left = e.X + e.Sender.Left - e.Form.Text.Split("|")(0)
        e.Sender.Top = e.Y + e.Sender.Top - e.Form.Text.Split("|")(1)
    End If
End If
 

[此贴子已经被作者于2013-9-18 15:03:06编辑过]