Actionscript 3 删除右键单击菜单选项上的按钮

Actionscript 3 删除右键单击菜单选项上的按钮,actionscript-3,apache-flex,flex3,Actionscript 3,Apache Flex,Flex3,当用户右键单击按钮时,将显示“删除”上下文菜单项。如果用户单击“删除”选项,则该按钮应从其平铺父容器中删除。我将如何使用Flex 3和ActionScript 3实现这一点?您需要创建一个自定义,并在其中添加一个与您希望用户选择的删除文本对应的属性 将事件侦听器添加到此ContextMenuItem,该侦听器将处理删除单击的项目的操作。以下是实现删除的一种方法: private function removeItemHandler(event:ContextMenuEvent):void

当用户右键单击按钮时,将显示“删除”上下文菜单项。如果用户单击“删除”选项,则该按钮应从其平铺父容器中删除。我将如何使用Flex 3和ActionScript 3实现这一点?

您需要创建一个自定义,并在其中添加一个与您希望用户选择的删除文本对应的属性

将事件侦听器添加到此
ContextMenuItem
,该侦听器将处理删除单击的项目的操作。以下是实现删除的一种方法:

  private function removeItemHandler(event:ContextMenuEvent):void
  {
    ((event.mouseTarget as DisplayObject).parent as DisplayObjectContainer).removeChild((event.mouseTarget as DisplayObject));
    Alert.show((event.mouseTarget.toString() + " has been removed."),"Display Object Removed");
  }
最后,确保将所有要移除的组件的属性设置到您创建的自定义
ContextMenu

注意


上面的代码对应于Flex 3,因为问题指定了。对于Flex4,可以分别使用
IVisualElement
IVisualElementContainer
removeElement
方法来代替
DisplayObject
DisplayObjectContainer
removeChild
方法,添加了一个对应于要用户选择的删除文本的

将事件侦听器添加到此
ContextMenuItem
,该侦听器将处理删除单击的项目的操作。以下是实现删除的一种方法:

  private function removeItemHandler(event:ContextMenuEvent):void
  {
    ((event.mouseTarget as DisplayObject).parent as DisplayObjectContainer).removeChild((event.mouseTarget as DisplayObject));
    Alert.show((event.mouseTarget.toString() + " has been removed."),"Display Object Removed");
  }
最后,确保将所有要移除的组件的属性设置到您创建的自定义
ContextMenu

注意

上面的代码对应于Flex 3,因为问题指定了。对于Flex4,可以分别使用
IVisualElement
IVisualElementContainer
removeElement
方法来代替
DisplayObject
DisplayObjectContainer
removeChild
方法