Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > .NET для новичков > перетягивание для дерева


Автор: nmc 3.2.2010, 17:32
Доброго времени суток!
При drogandrap для treeView высвечивается значок(перечеркнутиый черный круг) невозможности 
перетягивания. В чем тут может быть дело?
В свойстве   AllowDrop - True
Код

        private void treeView1_ItemDrag(object sender, ItemDragEventArgs e)
        {
            if ((e.Button & MouseButtons.Left) == MouseButtons.Left)
            {
                DoDragDrop(e.Item, DragDropEffects.Move);

            }
        }

        private void treeView1_DragDrop(object sender, DragEventArgs e)
        {
            e.Effect = DragDropEffects.Move;

        }

        private void treeView1_DragEnter(object sender, DragEventArgs e)
        {
            TreeNode NewNode;

            if (e.Data.GetDataPresent("System.Windows.Forms.TreeNode", false))
            {
                Point pt = ((TreeView)sender).PointToClient(new Point(e.X, e.Y));
                TreeNode DestinationNode = ((TreeView)sender).GetNodeAt(pt);
                NewNode = (TreeNode)e.Data.GetData("System.Windows.Forms.TreeNode");
                if (DestinationNode.TreeView != NewNode.TreeView)
                {
                    DestinationNode.Nodes.Add((TreeNode)NewNode.Clone());
                    DestinationNode.Expand();
                    //Remove Original Node
                    NewNode.Remove();
                }
            }

        }

Автор: Partizan 5.2.2010, 17:07
nmc, DragOver нужно ещё обрабатывать.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)