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