以文本方式查看主题

-  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
If Forms("主窗口").Opened  Then
    myTable  = Forms("主窗口").Controls("TabControl1").SelectedPage.text
End If

[此贴子已经被作者于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"))
    .SetHeaderRowHeight(30,30) \'标题栏行高
    .DefaultRowHeight  = 32 \'所有行高
    .DataTable.SysStyles("Alternate").BackColor = Color.LightCyan \'交替行颜色
    .Grid.Styles("Normal").Border.Color = Color.SteelBlue \'绘制网格线
    .Appearance.ShowSortIcon = False \'隐藏排序标记
    .AllowResizeColumn = False \'禁止调整列宽
    .ExtendLastCol = True \'补充空白列
    .Sort="序号"
End With

这样逻辑上有问题,页签打开后,才能使用这个变量,我在打开窗口的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编辑过]