我关心的一件事是我发现了两种向事件注册委托的方法.
第一个是干净的,做"OnStuff - = this.Handle"是有道理的.从事件中取消注册......但是对于后一种情况,我应该做"OnStuff - = new StuffEventHandler(this.Handle);"?感觉就像我没有删除任何东西,因为我正在抛出另一个StuffEventHandler引用.事件是否通过引用比较委托?我担心我可以在这里开始讨厌的内存池.抓住我?我没有引用我之前注册的"new StuffEventHandler".
做#1的缺点是什么?
做#2有什么好处?
如果我在designer.cs页面中设置了一个组合框单击事件,然后在程序运行期间的某个时刻,基于某些条件,我不再需要设置组合框Click事件,如何"取消设置"它?我已经尝试过comboboxname.Click + = null我已经尝试将它设置为另一个无效的虚拟函数......两者都无效.