------a
|
------b
|
------c我用鼠标拖动a把它放到b后面 则它就形成如下
------b
|
------a
|
------c
|
------b
|
------c我用鼠标拖动a把它放到b后面 则它就形成如下
------b
|
------a
|
------c
解决方案 »
- 修改怎么做,我思路不清晰,高手帮忙
- c# vs2005中tabpage的问题
- c#怎样检测是否安装了OFFICE EXCEL
- pc端用c#开发来调用蓝牙设配器,高手入。
- SQL存储过程中加多个参数出现错误提示:参数过多?我有8个输入参数和一个输出参数?如何解决?
- [WinForm] TreeView节点的复制
- 关于TOOLBAR的问题
- 哪位同志作过向导程序,请指教
- treeview到底怎么添加,我要疯了
- LISTVIEW添加treeview的节点,但是总出现三个空行。是什么问题啊?
- 怎样拖动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值就行了。