Foxtable(狐表)用户栏目专家坐堂 → [问题] 窗口传值问题


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

主题:[问题] 窗口传值问题

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


加好友 发短信
等级:幼狐 帖子:93 积分:1050 威望:0 精华:0 注册:2014/9/22 22:22:00
[问题] 窗口传值问题  发帖心情 Post By:2014/11/12 10:02:00 [只看该作者]

如题,如何传值给窗口?
有没有办法像vs一样,在窗口中定变量,然后传值?
问题: 现在做的项目中,窗口有3种状态,1.禁用,禁止用户使用,2.只读,允许用户使用部分查看功能,3.读写,拥有所有操作,
所有的窗口都设成主窗口,菜单是动态生成的,用户点击菜单的时候打开对应的窗口,在窗口的加载事件里处理权限问题
现在想到的解决方法是全局变量的Dictionary来存放,其他的方法或多或少都有一些问题.
怎么办?


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/11/12 10:03:00 [只看该作者]

定义一个全局变量来传递

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


加好友 发短信
等级:幼狐 帖子:93 积分:1050 威望:0 精华:0 注册:2014/9/22 22:22:00
  发帖心情 Post By:2014/11/12 10:04:00 [只看该作者]

只有这种方法吗?

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


加好友 发短信
等级:幼狐 帖子:93 积分:1050 威望:0 精华:0 注册:2014/9/22 22:22:00
  发帖心情 Post By:2014/11/12 10:05:00 [只看该作者]

项目上百个窗口啊

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/11/12 10:08:00 [只看该作者]

窗口未关闭,可以通过窗口的  baseform.tag 来传值 如果窗口关闭了,值就丢失了.

同样,你也可以直接获取窗口的任何控件的值

forms("X").controls("控件名").text

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


加好友 发短信
等级:幼狐 帖子:93 积分:1050 威望:0 精华:0 注册:2014/9/22 22:22:00
  发帖心情 Post By:2014/11/12 10:16:00 [只看该作者]

设置主窗口,使用Forms("窗口").open  主线程继续执行,
在Forms("窗口").open之前赋值又不行,空指针异常
我想过使用BaseForm的Tag,但还是和上面一样,出现空指针异常

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/12 10:18:00 [只看该作者]

 这样写

 

Forms("窗口1").Panel.tag = 1


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


加好友 发短信
等级:幼狐 帖子:93 积分:1050 威望:0 精华:0 注册:2014/9/22 22:22:00
  发帖心情 Post By:2014/11/12 10:24:00 [只看该作者]

要在窗口的加载事件发生之前tag就要有值了,因为要在里面做权限处理,这句话是在open之后才能写吧

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/12 10:26:00 [只看该作者]

以下是引用xjt26605275在2014-11-12 10:24:00的发言:
要在窗口的加载事件发生之前tag就要有值了,因为要在里面做权限处理,这句话是在open之后才能写吧

 

用一个统一的变量,用于窗口间的参数传递,比如 tempVal

 

赋值和取值,就用它临时过渡一下。


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


加好友 发短信
等级:幼狐 帖子:93 积分:1050 威望:0 精华:0 注册:2014/9/22 22:22:00
  发帖心情 Post By:2014/11/12 10:27:00 [只看该作者]

而且因为窗口不是ShowDialog,主线程会继续执行,如果是open后给tag赋值了不行,鬼知道窗口什么时候加载完成

 回到顶部
总数 11 1 2 下一页