我的应用程序在Windows窗体中使用allowdrop=true
能够执行拖放操作,并且它有许多自定义事件。当我运行配置文件时,我发现大多数对象都是由droptarget对象帮助回来的。
请让我知道如何修复它。
我在某处将其设置为false将其解析为false,但是我的控件被加载到另一个容器的内存中,即使我关闭,它也没有从内存中删除。我只是在它显示的时候第一次得到构造函数事件,即使我们关闭它也会在内存中保留它。
所以我没有得到任何其他事件,也没有对它执行任何事件,当我关闭并从容器中打开我的控件时,我继续看到内存泄漏。让我知道如何解决它。只有当我关闭容器时才能处理事件..
答案 0 :(得分:2)
解决方案是:不要使用Form
作为放置目的地,使用像容器一样的小面板来切换AllowDrop
属性。
在某些情况下,下面的黑客已经解决了这个问题。
void Form1_DragDrop(object sender, DragEventArgs e)
{
//reset the AllowDrop and call GC to collect memory
AllowDrop = false;
GC.Collect();
GC.Collect();
AllowDrop = true;
}