获取用户自定义操作的字典。

命名空间:  SuperMap.UI
程序集:  SuperMap.UI.Controls (in SuperMap.UI.Controls)
版本: dll

语法

C#
public Dictionary<InteractionType, MulticastDelegate> Interactions { get; }

备注

三维图层树为一些鼠标键盘操作,如拖拽图层节点、F2 键、Delete 键,提供了默认的执行内容,例如:拖拽图层节点可以实现调整图层顺序,按 F2 键进行树节点重命名,按 Delete 键移除图层。同时,还提供了接口(Layer3DsTree.Interactions ),允许用户为三维图层树的这些鼠标键盘操赋予新的执行内容。

通过 Layer3DsTree.Interactions 可以为指定的鼠标键盘操作赋予新的执行内容,该属性值的类型为一个字典类,字典的关键字为鼠标键盘操作类型(InteractionType 枚举),这些鼠标键盘操作都是三维图层树中已提供了默认响应内容的操作;字典的值为响应鼠标键盘操作的执行内容,对应一个委托。需要注意的是,在使用委托来指定鼠标键盘操作的执行内容时,所使用的委托类型必须与默认保持一致:键盘操作使用 KeyEventHandler 委托类型;鼠标拖放操作使用 DragEventHandler 委托类型。

示例

以下代码示范了如何为 Delete 键定义新的响应内容(弹出提示对话框),以覆盖三维图层树提供的默认执行内容,即移除树节点对应的数据内容。

下列代码要求在 Form 上创建了一个 Layer3DsTree 实例,实例的名称(name)为:layer3DsTree,还要求为该 layer3DsTree 对象指定一个场景(Scene 对象)。

CopyC#
// 修改 Delete 键的响应内容为自定义的执行内容
private void ChangeInteraction()
{
    layer3DsTree.Interactions[InteractionType.KeyDelete] = new KeyEventHandler(workspaceTreeKeyDownCallBack);
}

// 自定义的 Delete 键操作的执行内容
private void workspaceTreeKeyDownCallBack(object sender, KeyEventArgs e)
{
    MessageBox.Show("禁止破坏数据!");
}

版本信息

SuperMap iObjects .NET


请参见