pb中如何在一个按钮的中Clicked事件调用其他窗口按钮的Clicked事件

时间:2022-12-01 20:16:43
比如:
window_1中有cb_1
window_2中有cb_1
想在window_2中的cb_1的Clicked事件中调用window_1中的cb_1的Clicked事件。
应该怎么写?主要是想重用。

11 个解决方案

#1


在window_2中的cb_1的Clicked事件中写
window_1.cb_1.PostEvent(Clicked!)
或者
window_1.cb_1.triggerEvent(Clicked!)

#2


在window_2中的cb_1的Clicked事件中写
window_1.cb_1.PostEvent(Clicked!)
或者
window_1.cb_1.triggerEvent(Clicked!)

#3


在window_2中的cb_1的Clicked事件中写
window_1.cb_1.PostEvent(Clicked!)
或者
window_1.cb_1.triggerEvent(Clicked!)

#4


freeliu() :
不行的,这样做pb会直接退出

#5


这么调用是没有问题的。除非你的clicked代码中有退出的代码。
或者你的pb本身有问题。
pb什么版本?是否打了补丁?

#6


还有,你事先应该判断window_1是否存在。用isvalid()判断。

#7


还有,你事先应该判断window_1是否存在。用isvalid()判断。

#8


pb的版本是8.0.4build 10501
打过一次补丁

isvalid的结果是false
但是我明明有window_1啊。

#9


在pbl中我已经建了window_1的

#10


定义一个全局函数f_buttenclick

window_1中cb_1执行f_buttenclick
window_2中cb_1执行f_buttenclick

这样调用window_2中cb_1的clicked!时就执行了window_1中cb_1的

#11


当window_1没有打开时,在window_2中有cb_1调用window_1的对象当然会出错。

#1


在window_2中的cb_1的Clicked事件中写
window_1.cb_1.PostEvent(Clicked!)
或者
window_1.cb_1.triggerEvent(Clicked!)

#2


在window_2中的cb_1的Clicked事件中写
window_1.cb_1.PostEvent(Clicked!)
或者
window_1.cb_1.triggerEvent(Clicked!)

#3


在window_2中的cb_1的Clicked事件中写
window_1.cb_1.PostEvent(Clicked!)
或者
window_1.cb_1.triggerEvent(Clicked!)

#4


freeliu() :
不行的,这样做pb会直接退出

#5


这么调用是没有问题的。除非你的clicked代码中有退出的代码。
或者你的pb本身有问题。
pb什么版本?是否打了补丁?

#6


还有,你事先应该判断window_1是否存在。用isvalid()判断。

#7


还有,你事先应该判断window_1是否存在。用isvalid()判断。

#8


pb的版本是8.0.4build 10501
打过一次补丁

isvalid的结果是false
但是我明明有window_1啊。

#9


在pbl中我已经建了window_1的

#10


定义一个全局函数f_buttenclick

window_1中cb_1执行f_buttenclick
window_2中cb_1执行f_buttenclick

这样调用window_2中cb_1的clicked!时就执行了window_1中cb_1的

#11


当window_1没有打开时,在window_2中有cb_1调用window_1的对象当然会出错。