阅读:1582回复:2
[求助]跪求使用TreeView控件 控制图层的完整代码
<P>如题</P>
<P>非常感谢</P> |
|
1楼#
发布于:2008-04-19 23:22
<P>我自己写得,你看看</P> <P> '当用户开始拖动节点时触发的事件<BR> Private Sub TreeView1_ItemDrag1(ByVal sender As Object, ByVal e As System.Windows.Forms.ItemDragEventArgs) Handles TreeView1.ItemDrag<BR> DoDragDrop(e.Item, DragDropEffects.Move) '移动拖动的节点<BR> End Sub</P> <P> '在将对象拖入控件的边界时发生<BR> Private Sub TreeView1_DragEnter1(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TreeView1.DragEnter<BR> e.Effect = e.AllowedEffect<BR> End Sub</P> <P> '在完成拖放操作时发生<BR> Private Sub TreeView1_DragDrop1(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TreeView1.DragDrop<BR> '获得目标节点位置坐标信息,将节点屏幕坐标转换为工作区坐标<BR> Dim targetPoint As Point = TreeView1.PointToClient(New Point(e.X, e.Y))<BR> '获得目标节点<BR> Dim targetNode As TreeNode = TreeView1.GetNodeAt(targetPoint)<BR> '获得拖动的节点<BR> Dim draggedNode As TreeNode = CType(e.Data.GetData(GetType(TreeNode)), TreeNode)<BR> '移动地图控件中的图层<BR> Me.AxMap1.Layers.MoveTo(draggedNode.Index, targetNode.Index) '移动图层,保持TreeView1 与 Axmap1 中图层序号一致<BR> Me.AxMap1.Extent = Me.AxMap1.Extent '目的是刷新地图控件<BR> '确定拖动节点不是目标节点<BR> If Not draggedNode.Equals(targetNode) Then<BR> '确定拖动操作为移动数据<BR> If e.Effect = DragDropEffects.Move Then<BR> draggedNode.Remove() '移除被拖动的节点<BR> '判断是向上移动还是向下移动<BR> '此处必须判断移动方向,上移是删除后面的节点,下移是删除前面的节点,下移比上移少一个计数节点,必须加一<BR> If draggedNode.Index > targetNode.Index Then<BR> node.Nodes.Insert(targetNode.Index, draggedNode) '将拖动节点插入到目标节点处,达到移动的效果<BR> Else<BR> node.Nodes.Insert(targetNode.Index + 1, draggedNode) '将拖动节点插入到目标节点处,达到移动的效果<BR> End If<BR> End If<BR> targetNode.Expand() '展开目标节点<BR> End If<BR> End Sub</P> <P> '在将对象拖到控件的边界上发生<BR> Private Sub TreeView1_DragOver1(ByVal sender As Object, ByVal e As System.Windows.Forms.DragEventArgs) Handles TreeView1.DragOver<BR> '获得目标节点的工作区坐标<BR> Dim targetPoint As Point = TreeView1.PointToClient(New Point(e.X, e.Y))<BR> '获得目标节点,将其变为当前选中节点<BR> TreeView1.SelectedNode = TreeView1.GetNodeAt(targetPoint)<BR> End Sub</P> |
|
2楼#
发布于:2008-04-09 22:19
<P>求助版主啊 帮忙啊</P>
|
|