private void tvFormel_DragDrop(object sender, DragEventArgs e) { TreeNode NewNode; if (e.Data.GetDataPresent(typeof(TreeNode))) { Point pt = ((TreeView)sender).PointToClient(new Point(e.X, e.Y)); TreeNode DestinationNode = ((TreeView)sender).GetNodeAt(pt); NewNode = (TreeNode)e.Data.GetData("System.Windows.Forms.TreeNode"); if (DestinationNode != NewNode) { int parentGoodsID = 0; int selfGoodsID = 0; string parentFrockNumber = ""; string selfFrockNumber = ""; S_FrockStandingBook selfFrock = new S_FrockStandingBook(); SeparateString(DestinationNode.Tag.ToString(), out parentGoodsID, out parentFrockNumber); SeparateString(NewNode.Tag.ToString(), out selfGoodsID, out selfFrockNumber); selfFrock.GoodsID = selfGoodsID; selfFrock.FrockNumber = selfFrockNumber; if (parentGoodsID != 0 && parentFrockNumber != "") { selfFrock.ParentGoodsID = parentGoodsID; selfFrock.ParentFrockNumber = parentFrockNumber; } if (!m_serverFrockStandingBook.ChangeParentChildRelationships(selfFrock, out m_strErr)) { MessageDialog.ShowPromptMessage(m_strErr); return; } else { DestinationNode.Nodes.Add((TreeNode)NewNode.Clone()); DestinationNode.Expand(); //删除已经移动的节点 NewNode.Remove(); RefrshData(); } } } }