/// <summary> /// ///用来实现移动图层 /// </summary> private void treeViewLayers_DragDrop(object sender, DragEventArgs e) { Point targetPos = ((TreeView)sender).PointToClient(new Point(e.X, e.Y)); TreeNode targetNode = this.treeViewLayers.GetNodeAt(targetPos); if (targetNode.Nodes.Count != 0) { return; } TreeNode moveNode = (TreeNode)e.Data.GetData("System.Windows.Forms.TreeNode"); TreeNode NewMoveNode = (TreeNode)moveNode.Clone(); targetNode.Parent.Nodes.Insert(targetNode.Index, NewMoveNode); myMap.ChangeLayerIndex(moveNode.Index - 1, targetNode.Index - 1); treeViewLayers.SelectedNode = NewMoveNode; targetNode.Expand(); moveNode.Remove(); UpdateMapImg(); }