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

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

语法

C#
[BrowsableAttribute(false)]
public Dictionary<InteractionType, MulticastDelegate> Interactions { get; }

备注

工作空间树为一些鼠标键盘操作,如拖拽数据集节点、F2 键、Delete 键,提供了默认的执行内容,例如:拖拽数据集节点可以复制数据集,按 F2 键进行树节点重命名,按 Delete 键删除数据集。同时,还提供了接口(WorkspaceTree.AllowDefaultActionWorkspaceTree.Interactions ),允许用户为工作空间树的这些鼠标键盘操赋予新的执行内容。

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

要使 WorkspaceTree.Interactions 属性所自定义的鼠标键盘操作的新的执行内容生效,必须将 WorkspaceTree.AllowDefaultAction 属性值设置为 true。

当然,用户还可以通过 WorkspaceTree 继承自基类(TreeView 类)的相关的鼠标键盘事件和属性,自定义任何鼠标键盘操作的响应内容。

示例

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

下列代码要求在 Form 上创建了一个 WorkspaceTree 实例,实例的名称为:workspaceTree,还要求为该 workspaceTree 对象指定一个工作空间。

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

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

请参见