|
『原创』C#中TreeView类操作全攻略:建立树,新增节点,删除节点,修改节点,拖动节点,与Oracle数据库交互操作(一)(29) System.Windows.Forms.MessageBoxIcon.Warning); } finally { funcTableConn.Close(); } } private void btn_Help_Click(object sender, System.EventArgs e) { trv_Function.Nodes.Clear(); InitTreeView(trv_Function.Nodes,ROOT_NODE_VALUE); trv_Function.EXPandAll(); } private void btn_Close_Click(object sender, System.EventArgs e) { this.Close(); } private void trv_Function_ItemDrag(object sender, System.Windows.Forms.ItemDragEventArgs e) { if(e.Button == MouseButtons.Left) { //开始进行"Drag"操作 DoDragDrop ((TreeNode)e.Item,DragDropEffects.Move); } }
private void trv_Function_DragDrop(object sender, System.Windows.Forms.DragEventArgs e) { TreeNode temp = new TreeNode (); //得到要移动的节点 TreeNode moveNode = (TreeNode)e.Data.GetData (temp.GetType()); //转换坐标为控件treeview的坐标 Point position=new Point(0,0); position.X = e.X ; position.Y = e.Y ; position = trv_Function.PointToClient(position); //得到移动的目的地的节点 TreeNode aimNode =trv_Function.GetNodeAt(position) ; if (IsDragEnable(aimNode,moveNode)==true) { if (aimNode!=moveNode) {
|