TreeView控件中如何通过拖拽实现节点见的排序 同一根下的多个节点,我想通过鼠标拖拽的方式把排在某一位置的节点拖拽到其他节点是上面,我现在实现拖拽后,拖拽的节点都加到最后,怎么实现排序呢?在VB下在添加新节点时有个Position,.net下怎么实现???? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 private void treeViewStructure_DragEnter( object sender , DragEventArgs e ) { if ( e.Data.GetDataPresent(typeof(TreeNode)) ) e.Effect = DragDropEffects.Move; else e.Effect = DragDropEffects.None; } private void treeViewStructure_DragDrop( object sender , DragEventArgs e ) { TreeNode myNode = null; if ( e.Data.GetDataPresent(typeof(TreeNode)) ) { myNode = (TreeNode)( e.Data.GetData(typeof(TreeNode)) ); } Point Position = treeViewStructure.PointToClient(new Point(e.X , e.Y)); TreeNode DropNode = treeViewStructure.GetNodeAt(Position); if ( DropNode != null && DropNode.Parent != myNode && DropNode!=myNode) { TreeNode DragNode = myNode; myNode.Remove(); DropNode.Nodes.Add(DragNode); } } private void treeViewStructure_ItemDrag( object sender , ItemDragEventArgs e ) { DoDragDrop(e.Item , DragDropEffects.Move); } to: sskset(断点)上述代码是把拖拽的节点放到目标节点的下一级了,我是说如何把拖拽节点放到目标节点的上面,拖拽节点和目标节点是同一父节点,只是调整了排列的顺序 to: sskset(断点)上述代码是把拖拽的节点放到目标节点的下一级了,我是说如何把拖拽节点放到目标节点的上面,拖拽节点和目标节点是同一父节点,只是调整了排列的顺序********************************************************自己把節點調整一下就好了. 你把这一段调整一下就好了啊if ( DropNode != null && DropNode.Parent != myNode && DropNode!=myNode) { TreeNode DragNode = myNode; myNode.Remove(); DropNode.Nodes.Add(DragNode); } 如何用Process启动一个外部程序后判断是否启动完毕 请教个控件Attributes的问题 要导入的EXCEL表很多,速度慢怎么办? c# int取值的范围 请教如何获取textbox里的值并保存 数据类型转化,急!!!! 请问c#中调用icmp.dll 菜鸟问题 如何让程序在同一台机器上只可以有一个实例运行? 我用多线程写的生产者消费者问题,可我总感觉有错,大家帮我看看啊。 C#如何实现SSL代理的验证? 用VS2003 开发 C# windows 程序怎样控制窗体布局??
{
if ( e.Data.GetDataPresent(typeof(TreeNode)) )
e.Effect = DragDropEffects.Move;
else
e.Effect = DragDropEffects.None; }
private void treeViewStructure_DragDrop( object sender , DragEventArgs e )
{
TreeNode myNode = null;
if ( e.Data.GetDataPresent(typeof(TreeNode)) )
{
myNode = (TreeNode)( e.Data.GetData(typeof(TreeNode)) );
}
Point Position = treeViewStructure.PointToClient(new Point(e.X , e.Y));
TreeNode DropNode = treeViewStructure.GetNodeAt(Position);
if ( DropNode != null && DropNode.Parent != myNode && DropNode!=myNode)
{
TreeNode DragNode = myNode;
myNode.Remove();
DropNode.Nodes.Add(DragNode);
}
}
private void treeViewStructure_ItemDrag( object sender , ItemDragEventArgs e )
{
DoDragDrop(e.Item , DragDropEffects.Move);
}
上述代码是把拖拽的节点放到目标节点的下一级了,我是说如何把拖拽节点放到目标节点的上面,拖拽节点和目标节点是同一父节点,只是调整了排列的顺序
上述代码是把拖拽的节点放到目标节点的下一级了,我是说如何把拖拽节点放到目标节点的上面,拖拽节点和目标节点是同一父节点,只是调整了排列的顺序
********************************************************
自己把節點調整一下就好了.
{
TreeNode DragNode = myNode;
myNode.Remove();
DropNode.Nodes.Add(DragNode);
}