树状视图拖放实现
来源:互联网 发布:佳能打印机扫描软件 编辑:程序博客网 时间:2024/06/17 23:08
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace DragTree{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { //初始化树状视图 TreeNode ParentNode1; TreeNode ParentNode2; ParentNode1 = treeView1.Nodes.Add("tv1"); ParentNode1.Nodes.Add("tv1FirstChild"); ParentNode1.Nodes.Add("tv1SecondChild"); ParentNode1.Nodes.Add("tv1ThirdChild"); ParentNode1.Nodes.Add("tv1FourthChild"); ParentNode1.Expand(); ParentNode2 = treeView2.Nodes.Add("tv2"); ParentNode2.Nodes.Add("tv2FirstChild"); ParentNode2.Nodes.Add("tv2SecondChild"); ParentNode2.Expand(); } private void treeView2_ItemDrag(object sender, ItemDragEventArgs e)//拖拽时发生 { DoDragDrop(e.Item, DragDropEffects.Move); } private void treeView1_ItemDrag(object sender, ItemDragEventArgs e)//拖拽时发生 { DoDragDrop(e.Item, DragDropEffects.Move); } private void treeView1_DragEnter(object sender, DragEventArgs e)//移动到控件工作区时发生 { e.Effect = DragDropEffects.Move; } private void treeView2_DragEnter(object sender, DragEventArgs e)//移动到控件工作区时发生 { e.Effect = DragDropEffects.Move; } private void treeView1_DragDrop(object sender, DragEventArgs e)//拖拽完成时发生 { TreeNode NewNode;//定义新节点 if (e.Data.GetDataPresent("System.Windows.Forms.TreeNode", false)) { 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");//获取传输的节点信息 DestinationNode.Nodes.Add((TreeNode)NewNode.Clone());//复制新节点的数据 DestinationNode.Expand(); NewNode.Remove();//删除新节点 } } private void treeView2_DragDrop(object sender, DragEventArgs e)//拖拽完成时发生 { TreeNode NewNode; if (e.Data.GetDataPresent("System.Windows.Forms.TreeNode", false)) { 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"); DestinationNode.Nodes.Add((TreeNode)NewNode.Clone()); DestinationNode.Expand(); NewNode.Remove(); } } }}
树状视图拖放实现,有些东西不是太懂。。。
0 0
- 树状视图拖放实现
- 实现拖放
- 拖放 API 实现拖放排序
- 课表拖放的实现
- 拖放功能的实现
- 实现拖放 DataGrid 列
- 文件拖放编程实现
- 拖放功能的实现
- listbox实现拖放操作
- 实现自定义拖放
- vc 实现文件拖放
- .Net实现文件拖放
- zDragDrop实现拖放
- Qt中实现拖放
- 实现窗体的拖放
- flex实现拖放功能
- Flex拖放功能实现
- flex 拖放的实现
- 一步一步在OEL5.5 64位Linux上安装Oracle 10gR2 RAC(4)
- Android 4.0 Launcher2源码分析——Launcher内容加载详细过程
- Copy List with Random Pointer
- ZOJ 1992 Sightseeing Tour
- 一步一步在OEL5.5 64位Linux上安装Oracle 10gR2 RAC(5)
- 树状视图拖放实现
- 字节对齐
- cocos2d-x quick 导出c++到Lua
- 学习JAVA的第一课——安装JDK+Eclipse
- apache 配置参考手册
- 一步一步在OEL5.5 64位Linux上安装Oracle 10gR2 RAC(6)
- 解析MySQL中mysqldump工具的基本用法
- Linux 内核网络协议栈 ------ TCP拥塞状态机 tcp_fastretrans_alert
- ural 1019 Line Painting