【发布时间】:2013-08-23 22:44:29
【问题描述】:
所以我在对象的加载事件中注册了一些事件处理程序。
tv.PreviewMouseDown += new MouseButtonEventHandler(SignalScrollViewer_PreviewMouseDown);
但我有两个问题。
- 如果加载了两次,再次尝试添加事件处理程序会不会有问题?
- 我应该如何处理注销事件?它会在销毁时自动处理注销,还是我需要在某些事件(如卸载或其他情况下)处理它?
【问题讨论】:
-
如果在事件触发时仍需要它做某事,则无需取消注册。
event只是一个special delegate,它包含一个调用列表,它只是对象的成员以及其他类型的成员(属性、字段、方法……)。因此,当您的对象被释放时,它将与对象一起消失。