1

我想创建一个仪表板来选择(取消隐藏并激活)我的电子表格中的几个工作表之一:我正在考虑一个带有菜单或几个按钮的 UInstance。

为每个按钮或菜单项创建不同的 ServerHandler(和不同的回调函数)似乎很困难,因为它们的编号仅在运行时才知道。

在回调函数中使用 EventInfo.parameter 会简单得多,但如果我不添加带有应具有 setName() 方法的元素的 CallbackElement,则此参数为空。

问题是,令我大吃一惊的是,Buttons 和 MenuItem 都没有 setName 方法!!!

我在这里错过了一些非常基本的东西吗?我似乎不认为菜单项按下事件会包含对启动事件本身的元素的引用?

好的,也许我应该恢复到具有 setName() 方法的 LIstBox ......

谢谢,劳罗

4

1 回答 1

0

eventInfo 包含调用处理程序的小部件的 ID。

您可以e.parameter[source]在处理函数中获取它。(将 ID 作为字符串返回)

只需为您的所有按钮提供不同的 ID,为所有按钮提供一个唯一的处理程序,您就完成了。(您可以将处理程序添加到父小部件以简化代码,例如,如果您使用网格来定位按钮,则将单个处理程序添加到网格,它将适用于所有按钮)

于 2013-11-08T18:02:05.310 回答