在一个winform页面中,左面有一个treeView,右面有几个文本框。
我想实现这样一个功能,用鼠标可以把treeView的一个节点的值拖动到其中一个文本框中。
而且treeView的节点不会减少。

解决方案 »

  1.   

    ...
    treeView1.AllowDrop = true;
    treeView1.DragEnter += new DragEventHandler(this.OnDragEnter);
    treeView1.ItemDrag += new ItemDragEventHandler(this.treeView1_ItemDrag);
    ...
    textBox1.AllowDrop = true;
    textBox1.DragDrop += DragEventHandler(this.textBox1_DragDrop);
    textBox1.DragEnter += DragEventHandler(this.OnDragEnter);
    ...private void treeView1_ItemDrag(object sender, ItemDragEventArgs e) {
        DoDragDrop(e.Item, DragDropEffects.Copy);
    }private void OnDragEnter(object sender, DragEventArgs e) {
        e.Effect = DragDropEffects.Copy;
    }private void textBox1_DragDrop(object sender, DragEventArgs e) {
        if (e.Data.GetDataPresent(typeof(TreeNode))) {
            TreeNode node = e.Data.GetData(typeof(TreeNode)) as TreeNode;
            textBox1.Text = node.Text;
        }
    }---
    reference: http://support.microsoft.com/kb/307968