我动态创建UserControls使用反射: UserControl myConmtrol =(UserControl)Activator.CreateInstance(t);删除/杀死/删除UserControl及其事件处理程序
UserControl可能会处理关闭事件,但我不知道处理程序的名称。
当托管UserControl的窗口关闭时,我将UserControl从其父窗口中删除,并从窗口中消失:似乎一切正常。
但是,如果我再次打开和关闭UserControl,我可以在调试器中看到Closing事件被两次处理,一次由当前UserControl处理,另一次由前一个仍处于活动状态的UserControl处理。
理论上不再引用的UserControl应该是GarbageCollected。 我如何强制它被杀/删除/处置?至少有没有办法禁止它处理事件?
感谢
好吧,我怀疑,谢谢你的确认。 – qay 2010-09-08 12:48:15
但是,如果我不知道处理程序的名称时如何使用RemoveHandler?任何其他方法来删除处理程序? – qay 2010-09-08 12:51:00