以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  “主”窗口中调用“独立”窗口问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=43829)

--  作者:pengjiam
--  发布时间:2013/12/16 17:05:00
--  “主”窗口中调用“独立”窗口问题

窗口1的类型设置为“主窗口”

窗口2的类型设置为“独立窗口”

 

在窗口1中有一按钮BUTTON1,其CLICK事件为:

 

Dim x As Integer = e.Form.baseform.left+25
Dim y As Integer = e.Form.baseform.Top+25

forms("窗口2").open(x+10,y+10)

 

现在在窗口1中的预览状态下,点击BUTTON1后,能正常执行,并打开窗口2

 

若在项目的AfterOpenProject事件中打开:forms("窗口1").open(),再点击BUTTON1时,要出问题,如下:

 


图片点击可在新窗口打开查看此主题相关图片如下:主窗口问题.gif
图片点击可在新窗口打开查看

好像在这种情况下不认baseform,怎么办?见附件

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目12.foxdb


--  作者:逛逛
--  发布时间:2013/12/16 17:08:00
--  

主窗口没有baseform属性


--  作者:pengjiam
--  发布时间:2013/12/16 17:11:00
--  

那在预览下怎么能行?

那我如何取主窗口的坐标?


--  作者:Bin
--  发布时间:2013/12/16 17:16:00
--  
预览的情况下不是主窗体啊

 basemianform.left 

--  作者:逛逛
--  发布时间:2013/12/16 17:38:00
--  

你用这个吧,Basemainform会让窗体跑到最上角去,位置不好控制。

 

 

Dim p = e.Form.Panel.PointToScreen(e.Form.Panel.Location)
Dim x As Integer = p.x
Dim y As Integer = p.y
forms("窗口2").open(x+10,y+10)


--  作者:Bin
--  发布时间:2013/12/16 17:40:00
--  
以下是引用逛逛在2013-12-16 17:38:00的发言:

你用这个吧,Basemainform会让窗体跑到最上角去,位置不好控制。

 

 

Dim p = e.Form.Panel.PointToScreen(e.Form.Panel.Location)
Dim x As Integer = p.x
Dim y As Integer = p.y
forms("窗口2").open(x+10,y+10)

这个办法好! 顶一下