Foxtable(狐表)用户栏目专家坐堂 → 窗口,botton设置静态变量,发布前后不一致


  共有1832人关注过本帖树形打印复制链接

主题:窗口,botton设置静态变量,发布前后不一致

帅哥哟,离线,有人找我吗?
wjl-se
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:763 积分:6313 威望:0 精华:0 注册:2011/12/1 14:47:00
窗口,botton设置静态变量,发布前后不一致  发帖心情 Post By:2016/7/26 11:32:00 [只看该作者]

实例测试:

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


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/26 11:53:00 [只看该作者]

嗯嗯,是有这个问题。不过,发布后的才是正确的。static变量,就是一直存在的,直到你的项目关闭,才会消失。

 

你根据这个特性,对应的修改你的程序吧。


 回到顶部
帅哥哟,离线,有人找我吗?
wjl-se
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:763 积分:6313 威望:0 精华:0 注册:2011/12/1 14:47:00
  发帖心情 Post By:2016/7/26 13:00:00 [只看该作者]

这样啊……那举个例子,窗口里有个加载按钮:

Static cnt As Integer '静态变量限制点击次数,防止多次加载
cnt = cnt + 1

If cnt = 1 then

...‘加载

End If

 

第一次是没有问题的,如果再打开这个窗口点击加载,这时cnt已经大于1,不会执行加载了。

可我想要的是每次打开窗口,只响应第一次的点击,执行加载,应该怎么搞?

 


 回到顶部
帅哥哟,离线,有人找我吗?
wjl-se
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:763 积分:6313 威望:0 精华:0 注册:2011/12/1 14:47:00
  发帖心情 Post By:2016/7/26 13:30:00 [只看该作者]

除了用全局变量,有没有窗口级别的“全局变量”?


 回到顶部
帅哥哟,离线,有人找我吗?
大红袍
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/7/26 14:27:00 [只看该作者]

 没有窗口级别的全局变量。

 

 你可以这样变通,afterLoad事件

 

Dim dic As new Dictionary(Of String, object)
e.Form.panel.tag = dic

 

-------------调用

 

Dim dic = e.Form.panel.tag
dic.add("test", 123456)

msgbox(dic("test"))


 回到顶部
帅哥哟,离线,有人找我吗?
wjl-se
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:763 积分:6313 威望:0 精华:0 注册:2011/12/1 14:47:00
  发帖心情 Post By:2016/7/26 14:52:00 [只看该作者]

好哒,谢谢。

 回到顶部