以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]如何返回主窗口内某一控件的屏幕坐标  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=95565)

--  作者:pcxjxjhkw
--  发布时间:2017/1/23 18:49:00
--  [求助]如何返回主窗口内某一控件的屏幕坐标

如题。

 

主窗口内有一按钮,如何返回该按钮的屏幕坐标[ 不是窗口内坐标】

 


--  作者:有点蓝
--  发布时间:2017/1/23 20:25:00
--  
参考:http://foxtable.com/bbs/dispbbs.asp?boardid=2&Id=93949
--  作者:pcxjxjhkw
--  发布时间:2017/1/23 21:29:00
--  

主窗口内无法正确获取


--  作者:有点蓝
--  发布时间:2017/1/23 22:59:00
--  
Dim b As WinForm.Button = e.Form.Controls("Button1")
Dim p  = e.Form.panel.parent.parent.parent

Dim p1 As point = new point(b.Left,b.Top + p.Top + p.parent.Top )
Dim p2 As point =basemainform.PointToScreen(p1)

Dim p4 As point = new point(p2.X+b.Width , p2.Y+ b.Height)


e.Form.Controls("TextBox1").text = p2.X & "," & p2.Y & "," & p4.X & "," & p4.Y

--  作者:pcxjxjhkw
--  发布时间:2017/1/23 23:12:00
--  

--  作者:有点色
--  发布时间:2017/1/24 1:03:00
--  

直接这样写就可以了

 

Dim point As Point = Forms("窗口1").Panel.PointToScreen(Forms("窗口1").Controls("Button1").BaseControl.Bounds.Location)
msgbox(point.x & " " & point.y)


--  作者:pcxjxjhkw
--  发布时间:2017/1/24 10:08:00
--