如何触发窗体变量中对应的自定义事件?

plby 2010-04-20 08:51:38
将窗体名称、自定义事件名称都存入数据库了,
现想要动态的触发窗体变量中对应的自定义事件,
如何做呀?

如:窗体名称为 W_main,通过取数据库付于String型变量 LS_WIN
自定义事件名称为 Ue_save(),通过取数据库付于String型变量 LS_UE

现如何通过 LS_WIN、LS_UE两个变量来触发w_main.event ue_save() ?
...全文
104 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
new4everlau 2010-04-21
  • 打赏
  • 举报
回复
是可以动态触发;
这样触发的唯一不好之处是无法带参,楼上的带参不适合你想要的,呵呵;
事件的返回值是事件是否成功,于是产生了事件无法得到返回值,除非你用instance变量或全局变量来赋值得到
lxh_1763 2010-04-21
  • 打赏
  • 举报
回复
确定变量已经创建即可.和平常触发一样
永生天地 2010-04-20
  • 打赏
  • 举报
回复
ue_save:
choose case message.wordparm
case 0
messagebox(classname(this),"save1")
case 1
messagebox(classname(this),"save2")
case 2
case else
end choose
永生天地 2010-04-20
  • 打赏
  • 举报
回复
甚至可以带上参数
window lw
open(lw,"w_main")
lw.triggerevent("ue_save",1,1)

这两参数分别对应message对象的 Message.WordParm Message.LongParm
永生天地 2010-04-20
  • 打赏
  • 举报
回复
刚试了一下 没有问题 的

在w_main里写个ue_save,如下
messagebox(classname(this),"save")

随便在哪里写这段,然后运行下面的代码,就能弹出上面的message
window lw
open(lw,"w_main")
lw.triggerevent("ue_save")
flashixj61 2010-04-20
  • 打赏
  • 举报
回复
未试过,
但我认为无解,换种思路吧。
永生天地 2010-04-20
  • 打赏
  • 举报
回复
可以试试

window lw
open(lw,ls_win)
lw.triggerevent(LS_UE) //或lw.postevent(LS_UE)

604

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 控件与界面
社区管理员
  • 控件与界面社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧