在C#中实现TreeView节点的拖放操作
2009-03-23 12:59
495 查看
//从TreeView2控件中,拖放节点到TreeView1中
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace TreeViewDrap
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void treeView1_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent("System.Windows.Forms.TreeNode"))
{
e.Effect = DragDropEffects.Copy;
}
else
{
e.Effect = DragDropEffects.None;
}
}
private void Form1_Load(object sender, EventArgs e)
{
this.treeView1.AllowDrop = true;
this.treeView2.AllowDrop = true;
this.treeView2.ExpandAll();
this.treeView1.ExpandAll();
}
private void treeView1_DragDrop(object sender, DragEventArgs e)
{
TreeNode TempNode = (TreeNode)e.Data.GetData("System.Windows.Forms.TreeNode");
if (e.Data.GetDataPresent("System.Windows.Forms.TreeNode", false))
{
Point pt;
TreeNode DestNode;
pt = ((TreeView)sender).PointToClient(new Point(e.X, e.Y));
DestNode = ((TreeView)sender).GetNodeAt(pt);
if (DestNode.TreeView != TempNode.TreeView)
{
DestNode.Nodes.Add((TreeNode)TempNode.Clone());
DestNode.Expand();
}
}
}
private void treeView2_ItemDrag(object sender, ItemDragEventArgs e)
{
int itemIndex;
itemIndex = this.treeView2.SelectedNode.Index;
if (itemIndex >= 0)
{
treeView2.DoDragDrop(treeView2.SelectedNode, DragDropEffects.Copy);
}
}
}
}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace TreeViewDrap
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void treeView1_DragEnter(object sender, DragEventArgs e)
{
if (e.Data.GetDataPresent("System.Windows.Forms.TreeNode"))
{
e.Effect = DragDropEffects.Copy;
}
else
{
e.Effect = DragDropEffects.None;
}
}
private void Form1_Load(object sender, EventArgs e)
{
this.treeView1.AllowDrop = true;
this.treeView2.AllowDrop = true;
this.treeView2.ExpandAll();
this.treeView1.ExpandAll();
}
private void treeView1_DragDrop(object sender, DragEventArgs e)
{
TreeNode TempNode = (TreeNode)e.Data.GetData("System.Windows.Forms.TreeNode");
if (e.Data.GetDataPresent("System.Windows.Forms.TreeNode", false))
{
Point pt;
TreeNode DestNode;
pt = ((TreeView)sender).PointToClient(new Point(e.X, e.Y));
DestNode = ((TreeView)sender).GetNodeAt(pt);
if (DestNode.TreeView != TempNode.TreeView)
{
DestNode.Nodes.Add((TreeNode)TempNode.Clone());
DestNode.Expand();
}
}
}
private void treeView2_ItemDrag(object sender, ItemDragEventArgs e)
{
int itemIndex;
itemIndex = this.treeView2.SelectedNode.Index;
if (itemIndex >= 0)
{
treeView2.DoDragDrop(treeView2.SelectedNode, DragDropEffects.Copy);
}
}
}
}
相关文章推荐
- 实现在TreeView节点中进行拖放操作
- 控件之间拖放操作(二)-----实现Treeview节点到DataGridView
- TreeView节点拖放/DragDrop的实现实例(C#)
- C# 实现对XML文件的基本操作(创建xml文件,增、删、改、查 xml节点信息)
- c# 实现鼠标拖拽TreeView节点
- [C#]实现对XML文件的基本操作(创建xml文件,增、删、改、查 xml节点信息)
- C# 实现对XML的基本操作(创建xml文件,增、删、改、查 xml节点信息)
- 如何C#中实现在TreeView查找某一节点(两种方法)
- C# 用Linq的方式实现对Xml文件的基本操作(创建xml文件、增删改查xml文件节点信息)
- C#实现树型结构TreeView节点拖拽的简单功能,附全部源码,供有需要的参考
- RSS阅读器制作之TreeView树节点移动操作的实现
- C# 实现对XML文件的基本操作(创建xml文件,增、删、改、查 xml节点信息)(转)
- C#实现treeview节点上下左右自由移动
- C# 用Linq的方式实现对Xml文件的基本操作(创建xml文件、增删改查xml文件节点信息)
- C# 实现对XML文件的基本操作(创建xml文件,增、删、改、查 xml节点信息)
- C# 实现对XML文件的基本操作(创建xml文件,增、删、改、查 xml节点信息)
- C# 用Linq的方式实现对Xml文件的基本操作(创建xml文件、增删改查xml文件节点信息)
- C# 实现对XML文件的基本操作(创建xml文件,增、删、改、查 xml节点信息)
- C# 实现对XML文件的基本操作(创建xml文件,增、删、改、查 xml节点信息)zz
- 控件之间拖放操作-----实现Treeview到Treeview