C# 为什么DragLeave事件不是';当节点从TreeView中拖出时是否激发?

C# 为什么DragLeave事件不是';当节点从TreeView中拖出时是否激发?,c#,winforms,drag-and-drop,treeview,nodes,C#,Winforms,Drag And Drop,Treeview,Nodes,正如我在其他问题中读到的,大多数人都会问为什么它会意外开火,但对我来说它根本就不会开火 using System; using System.Windows.Forms; namespace TestDrag { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private voi

正如我在其他问题中读到的,大多数人都会问为什么它会意外开火,但对我来说它根本就不会开火

using System;
using System.Windows.Forms;

namespace TestDrag
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            treeView1.ItemDrag += treeView1_ItemDrag;
            treeView1.DragLeave += treeView1_DragLeave;

            groupBox1.AllowDrop = true;
            groupBox1.DragEnter += groupBox1_DragEnter;
            groupBox1.DragDrop += groupBox1_DragDrop;

            treeView1.Nodes.Add("asd");
            treeView1.Nodes.Add("dsa");
        }

        void groupBox1_DragDrop(object sender, DragEventArgs e)
        {
            throw new NotImplementedException();
        }

        void groupBox1_DragEnter(object sender, DragEventArgs e)
        {
            e.Effect = DragDropEffects.Copy;
        }

        void treeView1_ItemDrag(object sender, ItemDragEventArgs e)
        {
            treeView1.DoDragDrop(e.Item, DragDropEffects.Copy);
        }

        void treeView1_DragLeave(object sender, EventArgs e)
        {
            MessageBox.Show(this, "This message never shows when node dragged out of treeView1", "This is bad", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
    }
}
我想在项目拖出后隐藏TreeView,但此事件从未发生>_<
原因是什么?如何修复或绕过此问题?

您必须使
AllowDrop=True

我将
AllowDrop
设置为
True
,然后它进入。嗯。。。尽管他们之间没有任何关系。把它作为答案,这样我就可以接受了。