一聚教程网:一个值得你收藏的教程网站

热门教程

创建可编辑的xml文档(之三)执行拖放操作

时间:2022-07-02 11:43:09 编辑:袖梨 来源:一聚教程网

执行托放操作
定义了treeview 显示得内容以后,现在你应该准备处理如何四处移动元素了,大多数得开发人员在处理拖放操作时得通用观念都是很相似得,无论使用visual c++ visual basic 或者任何一种.net 语言,所以我一直用下面的四个方法处理这个操作:
MouseDown-----用户选择得内容
DragEnter---用户开始拖动选中得项目
DragOver ---用户拖动选中得项目经过另一个项目
DragDrop---用户在某个地方放下选择得项目
执行这些方法适当得给用户针对可以和不可以处理的得操作分别给予视觉反馈,同时告诉用户他们是怎样被执行的,并且不用管给定的上下文的细节操作,所以就有三个直接的问题需要被考虑:
1. 你如何使treeview 控件中的一个节点和底层xml文档中的节点进行匹配
2. 为了物理节点能够跟随图形进行转换,用户如何操作xml文档
3. 你如何有效地执行大的xml文档。如果这样的转变要不得不加强时,你不想把没有必要的东西绑定到用户界面
清单1
A TreeNode's position maps to an XML node using an XPath query.

Private Sub XmlTreeView_MouseDown(ByVal sender As Object, ByVal e As _
System.Windows.Forms.MouseEventArgs) Handles MyBase.MouseDown
' First check whether we've clicked on a node in the tree view; if not,
' just return
Dim pt As New Point(e.X, e.Y)
drag_node = Me.GetNodeAt(pt)

If drag_node Is Nothing Then Return

' Highlight the node and build an xpath query so that we can remove it later
xpath_remove_query = buildXPathQuery(drag_node)
Me.SelectedNode = drag_node

' Decide whether we're going to perform an intra-folder rearrangement (right
' mouse button) or a genuine drag-and-drop (left mouse button);

热门栏目