有一个winform界面,左边是一个TreeView控件,右边是一个panel控件,
我要从左边的treeView节点上拖节点到右边的panle中(因为每个节点都绑定了相关的图片,我要拖动左边的节点,然后把相应的图片放到右边的panel上去? 谢谢!最好给代码?因为我分很少,只要给我代码的,以后肯定把分补给你。

解决方案 »

  1.   

    1.允许treeview的节点可拖动
    2.DragDrop或DragEnter事件里写代码`把图片加载到Panle中
      

  2.   

    DragDrop或DragEnter事件没用过,帮你Up
      

  3.   

    我来贴一下简单示例//事件绑定
                this.treeView1.GiveFeedback += new System.Windows.Forms.GiveFeedbackEventHandler(this.treeView1_GiveFeedback);
                this.treeView1.DragEnter += new System.Windows.Forms.DragEventHandler(this.treeView1_DragEnter);
                this.treeView1.ItemDrag += new System.Windows.Forms.ItemDragEventHandler(this.treeView1_ItemDrag);            this.panel1.DragDrop += new System.Windows.Forms.DragEventHandler(this.panel1_DragDrop);
                this.panel1.DragEnter += new System.Windows.Forms.DragEventHandler(this.panel1_DragEnter);
            //拖至panel区域
            private void panel1_DragEnter(object sender, DragEventArgs e)
            {
                e.Effect = DragDropEffects.Copy;
            }        //完成拖放
            private void panel1_DragDrop(object sender, DragEventArgs e)
            {
                //源树节点
                TreeNode sourNode = (TreeNode)e.Data.GetData(typeof(TreeNode));            //如果你的图片绑定在TreeNode.Tag则
                this.panel1.BackgroundImage = (Image)sourNode.Tag;
            }        //拖动树节点
            private void treeView1_ItemDrag(object sender, ItemDragEventArgs e)
            {
                 if (e.Button == MouseButtons.Left)
                {
                    this.treeView1.DoDragDrop(e.Item, DragDropEffects.Copy);
                }           
            }        //拖至树区域
            private void treeView1_DragEnter(object sender, DragEventArgs e)
            {
                //设置拖放类别(复制,移动等)
                e.Effect = DragDropEffects.Copy;
            }        //拖动时改变光标图
            private void treeView1_GiveFeedback(object sender, GiveFeedbackEventArgs e)
            {
                Cursor.Current = Cursors.Hand;
            }
      

  4.   

    我用了 5楼 的这段程序 为什么  没有任何效果?   private void treeView1_DragEnter(object sender, DragEventArgs e)
            {
                //设置拖放类别(复制,移动等)
                e.Effect = DragDropEffects.Copy;        }我 设置了 断点 这个事件 无法响应....
      

  5.   

    行了,  能运行了,  原来 需要 把AllowDrop 属性设置为 True  就行了 ,默认是 False 一定要改 否则无法执行。  
    谢谢 5 楼....