首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

请教如何在两个treeview之间移动节点啊

2013-06-19 
请问怎么在两个treeview之间移动节点啊。。要包括子节点的父节点啊[解决办法]这个很容易,首先窗体的allowdra

请问怎么在两个treeview之间移动节点啊。。
要包括子节点的父节点啊请教如何在两个treeview之间移动节点啊
[解决办法]
这个很容易,首先窗体的allowdrag设置为true,控件也要。
然后treeview1 treeview2 同样设置为true

        private TreeNode exchangenode = null;
        private void treeView1_DragEnter(object sender, DragEventArgs e)
        {
            e.Effect = e.AllowedEffect;
            if (e.Data.GetDataPresent(typeof(System.Windows.Forms.TreeNode)))
            {
                e.Effect = DragDropEffects.Copy;
                exchangenode = (TreeNode)e.Data.GetData(typeof(System.Windows.Forms.TreeNode));
            }
            else
                e.Effect = DragDropEffects.None;
        }
        private void treeView1_ItemDrag(object sender, ItemDragEventArgs e)
        {
            DoDragDrop(e.Item, DragDropEffects.Copy);
        }

        private void treeView1_DragLeave(object sender, EventArgs e)
        {
            if (exchangenode != null)
            {
                treeView1.Nodes.Remove(exchangenode);
            }
        }

        private void treeView2_DragEnter(object sender, DragEventArgs e)
        {
            e.Effect = e.AllowedEffect;
            if (e.Data.GetDataPresent(typeof(System.Windows.Forms.TreeNode)))
                treeView2.Nodes.Add((TreeNode)e.Data.GetData(typeof(System.Windows.Forms.TreeNode)));
        }

[解决办法]
DragDrop,ItemDrag,DragEnter,DragLeave事件

热点排行