Implement Drag-Drop in Winforms Using Treeview and Split Controls

I have a form that has 2 splitters. One separator splits the shape horizontally into 2 columns. Another will split the left column into 2 rows.

In the left column, the top "row" I have a tree. In the right column, I have an image viewer.

I want to omit the tree structure of node in the image viewer and do something with it.

The viewer is called the "viewer." The tree view is called "EntityTreeView"

The code is as follows:

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

    private void viewer_DragDrop(object sender, DragEventArgs e)
    {
        TreeNode droppedNode;
        droppedNode = (TreeNode)e.Data.GetData("System.Windows.Forms.TreeNode");
        MessageBox.Show(String.Format("You dropped a node with text: {0}\n on the viewer at X:{1} Y:{2}", droppedNode.Text, e.X, e.Y), "Drag Drop Finished", MessageBoxButtons.OK, MessageBoxIcon.Information);
    }

    private void EntityTreeView_ItemDrag(object sender, ItemDragEventArgs e)
    {
        DoDragDrop(e.Item, DragDropEffects.Move);

    }

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


    private void EntityTreeView_DragEnter(object sender, DragEventArgs e)
    {
        e.Effect = DragDropEffects.None;
    }

However, whenever I take the tree structure of a node and start dragging it, it immediately displays a โ€œNoโ€ icon (that is, the prohibition sign on smoking .. a circle with a slash, whatever that is called).

, ?

.

+3
2

. , AllowDrop "viewer" true.

+4

e.Effect DragEnter DragDropEffects.Move

private void EntityTreeView_DragEnter(object sender, DragEventArgs e)
{
    e.Effect = DragDropEffects.Move    
}
0

Source: https://habr.com/ru/post/1710339/


All Articles