这是一个 PowerBuilder 问题。我正在使用 PowerBuilder 12 Classic。
我有一个窗口,其中大部分控件都是使用 OpenUserObject 在代码中动态声明的。单击这些控件之一时,应在容器窗口中打开一个面板。但是,我不确定如何从动态声明的控件中触发事件。控件类型是自定义的(标准可视对象中的自定义代码,singleLineEdit),并且我在控件的 getfocus 事件中声明了自定义代码。但如何引用容器窗口?
我知道我可以通过名称引用容器窗口,但这是非常 self 限制的。有没有其他方法可以做到这一点?
最佳答案
如果您不需要传递参数,您可以使用 parent.triggerEvent("event_name")
在窗口中触发事件。如果事件或函数是在窗口的祖先(例如 PFC)中定义的,您可以将 parent
转换为祖先类型并直接调用。使用 PFC 的示例:
w_master w_container
w_container = parent
w_container.of_SetUpdateObjects({this})
关于powerbuilder - 将事件添加到动态声明的控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3790033/