获取用户自定义操作的字典。
命名空间:
SuperMap.UI程序集: SuperMap.UI.Controls (in SuperMap.UI.Controls)
版本: dll
语法
C# |
---|
[BrowsableAttribute(false)] public Dictionary<InteractionType, MulticastDelegate> Interactions { get; } |
备注
二维图层树为一些鼠标键盘操作,如拖拽图层节点、F2 键、Delete 键,提供了默认的执行内容,例如:拖拽图层节点可以实现调整图层顺序,按 F2 键进行树节点重命名,按 Delete 键移除图层。同时,还提供了接口(LayersTree.Interactions ),允许用户为二维图层树的这些鼠标键盘操赋予新的执行内容。
通过 LayersTree.Interactions 可以为指定的鼠标键盘操作赋予新的执行内容,该属性值的类型为一个字典类,字典的关键字为鼠标键盘操作类型(InteractionType 枚举),这些鼠标键盘操作都是二维图层树中已提供了默认响应内容的操作;字典的值为响应鼠标键盘操作的执行内容,对应一个委托。需要注意的是,在使用委托来指定鼠标键盘操作的执行内容时,所使用的委托类型必须与默认保持一致:键盘操作使用 KeyEventHandler 委托类型;鼠标拖放操作使用 DragEventHandler 委托类型。
示例
以下代码示范了如何为 Delete 键定义新的响应内容(弹出提示对话框),以覆盖二维图层树提供的默认执行内容,即移除树节点对应的数据内容。
下列代码要求在 Form 上创建了一个 LayersTree 实例,实例的名称(name)为:layersTree,还要求为该 layersTree 对象指定一个地图(Map 对象)。
CopyC#
// 修改 Delete 键的响应内容为自定义的执行内容 private void ChangeInteraction() { layersTree.Interactions[InteractionType.KeyDelete] = new KeyEventHandler(workspaceTreeKeyDownCallBack); } // 自定义的 Delete 键操作的执行内容 private void workspaceTreeKeyDownCallBack(object sender, KeyEventArgs e) { MessageBox.Show("禁止破坏数据!"); }