以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 全局代码 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=148834) |
-- 作者:cd_tdh -- 发布时间:2020/4/16 13:02:00 -- 全局代码 老师这个代码怎么写到全局代码,这样写不对。 Public myTable As String [此贴子已经被作者于2020/4/16 13:03:58编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/4/16 14:09:00 -- 全局代码只能用来定义变量或者函数。不能直接写代码。 下面放到afteropenproject If Forms("主窗口").Opened Then
myTable = Forms("主窗口").Controls("TabControl1").SelectedPage.text End If |
-- 作者:cd_tdh -- 发布时间:2020/4/16 14:22:00 -- 试过放到afteropenproject项目事件,切换页面后,得到的值不是当前页面的名称。 放SelectedIndexChanged事件:在窗口的afterload事件也用不了那个变量,页签打开后才有变量,所以也用不了那个变量。 放项目的SystemIdle事件也是这个问题,在窗口的afterload事件也用不了那个变量,页签打开后才有变量,所以也用不了那个变量 [此贴子已经被作者于2020/4/16 14:33:30编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/4/16 14:39:00 -- 全局代码定义的变量,除了项目加载前事件。其它任何地方肯定都可以使用,和vars是完全一样的。具体实体做个例子说明吧 |
-- 作者:cd_tdh -- 发布时间:2020/4/16 17:06:00 -- 老师,这样把,做示例确实有点多,我要把Forms("主窗口").Controls("TabControl1").SelectedPage.text写到全局代码,随时可以取得这个值,怎么写? |
-- 作者:有点蓝 -- 发布时间:2020/4/16 17:15:00 -- TabControl1,SelectedIndexChanged事件 myTable = e.Sender.SelectedPage.text
|
-- 作者:cd_tdh -- 发布时间:2020/4/16 17:31:00 -- 这个试过,比如这样定义: Vars("editTable") = Forms("主窗口").Controls("TabControl1").SelectedPage.text 我在独立窗口(需要加入到页签的)afterload事件,用这个代码用不了 With Tables(vars("editTable")) 这样逻辑上有问题,页签打开后,才能使用这个变量,我在打开窗口的afterload事件包括窗口是计时器都都用不了。 [此贴子已经被作者于2020/4/16 17:51:27编辑过]
|
-- 作者:有点蓝 -- 发布时间:2020/4/16 17:50:00 -- 那就是窗口先打开了,而SelectedIndexChanged事件还没有触发。而切换页签的时候,窗口是已经打开状态了,也不会触发afterload事件。 |
-- 作者:cd_tdh -- 发布时间:2020/4/16 17:54:00 -- 是这样的,所以这样定义,逻辑也还是有问题,就想到用全局代码来解决,但没写来。 |
-- 作者:cd_tdh -- 发布时间:2020/4/16 18:30:00 -- 反复想了一下,这个思路应该有问题,只能试试窗口名称和表名称一致,用窗口名来试试了。 到不知道窗口添加到页签后,还能不能获取到窗口名称,明天试试才知道
[此贴子已经被作者于2020/4/16 18:31:42编辑过]
|