以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  打开窗口的代码不执行  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=39809)

--  作者:东坡一剑
--  发布时间:2013/9/2 11:49:00
--  打开窗口的代码不执行

我在窗口的全局事件Click中设置如下代码:

 

If e.sender.Parent Is e.Form.Controls("GroupBox3") Then
    e.sender.Select
    Forms("洗涤标志").Open()
End If

 

结果,控件能够被选定,但是窗口却不能打开,请问这是怎么回事?

[此贴子已经被作者于2013-9-2 12:00:05编辑过]

--  作者:Bin
--  发布时间:2013/9/2 11:50:00
--  
上个例子看看,不应该会这样.
--  作者:东坡一剑
--  发布时间:2013/9/2 12:06:00
--  

用的外部数据源,外部数据怎么发,能指教一下吗?


--  作者:Bin
--  发布时间:2013/9/2 12:06:00
--  
没必要整个项目丢上来,做个简单例子即可. 使用内部数据源.



--  作者:东坡一剑
--  发布时间:2013/9/2 12:10:00
--  
数据源文件夹和洗涤标志文件夹和项目文件处在同一个目录中
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:诺诗兰管理系统.foxdb

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

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:洗涤标志.zip

[此贴子已经被作者于2013-9-2 13:47:42编辑过]

--  作者:程兴刚
--  发布时间:2013/9/2 12:16:00
--  

If e.sender.Parent.name = "GroupBox3" Then
    Forms("洗涤标志").Open()
End If

 

1、因为是控件Click事件,所以没必要Select
2、因为是多个分组框,所以只能判断名称,判断类型应该这样:

 

If e.sender.Parent Is WinForm.GroupBox Then


--  作者:Bin
--  发布时间:2013/9/2 12:19:00
--  
你改为这样判断吧 就没问题了 If e.sender.Parent.name = e.Form.Controls("GroupBox3").name Then
--  作者:东坡一剑
--  发布时间:2013/9/2 13:54:00
--  

按Bin的方法立即就成功了,但是不知其所以然,能不能帮人帮到底,讲一讲为什么,或者推荐一个学习材料?

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

--  作者:Bin
--  发布时间:2013/9/2 14:02:00
--  
看看6楼老程说得吧.
--  作者:东坡一剑
--  发布时间:2013/9/2 14:21:00
--  

看了老程的,有点明白了。

谢谢大家哦!