------a
|
------b
|
------c我用鼠标拖动a把它放到b后面 则它就形成如下
------b
|
------a
|
------c
|
------b
|
------c我用鼠标拖动a把它放到b后面 则它就形成如下
------b
|
------a
|
------c
解决方案 »
- C# 关键字“this”在静态属性、静态方法或静态字段初始值设定项中无效
- 这种功能怎么实现呢
- 利用数据生成均方差生成曲线计算?
- 懂VC++的高手来 急!!
- 在C#项目中,哪些文件是表示层、哪些文件是逻辑层、哪些文件是数据层。或者将C#项目中的所有文件明确归类为这三层,分为三组也好
- 求解一道C#程序题?
- 初级问题:大家帮忙!
- 求一正则表达式,把html文件中的字符串分割开来
- 求.net连接代理服务器的源代码
- Html form 用image提交 出现x,y坐标参数如何去除
- 怎样拖动TabControl的TabPage文本那块区域到另外一个TabPage上,即相互交换位置(WinForm)
- 如何将类中的函数的实现放到类的外面来?
MS的控件还是自己写的??
然后写 ItemDrag DragEnter 和 DragDrop事件
/// 拖动节点
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void treeView1_ItemDrag(object sender, ItemDragEventArgs e)
{
if (e.Button == MouseButtons.Right) return;
tnMove = e.Item as TreeNode;
if (tnMove != null)
{
DoDragDrop(tnMove, DragDropEffects.Move);
}
} private void treeView1_DragEnter(object sender, DragEventArgs e)
{
e.Effect = DragDropEffects.Move;
} /// <summary>
/// 释放拖动
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void treeView1_DragDrop(object sender, DragEventArgs e)
{
Point pt = new Point(e.X, e.Y);
pt = treeCardsSort.PointToClient(pt);
TreeNode ParentNode = treeCardsSort.GetNodeAt(pt);
// movieNode(tnMove, ParentNode);//移动节点
}
http://www.syncfusion.com/FAQ/WindowsForms/FAQ_c91c.aspx#q617q对于同级的移动,相当于排序操作,需要通过父节点进行操作。那么操作分为两部分,
首先,删除当前节点,用tnParent.Nodes.Remove删除,这里和一般的节点移动操作一样;第二步有别于节点拖动,需要用tnParent.Nodes.Insert完成,这里要获得需要插入节点的index值就行了。