在构造函数中有一个控件
_myWebService。ForwardMessageCompleted += new eventandler (OnForwardMessageCompleted);
private void OnForwardMessageCompleted(object sender, AsyncCompletedEventArgs e)
{
activity.IsActive = false;
if (e.Error == null)
{
RadWindow.Alert("The message has been forwarded");
}
}
控件有消息列表,用户可以转发给其他用户。问题是,用户多次打开此控件,并且每次创建它的处理程序都被添加到
中。_myWebService.ForwardMessageCompleted
如何删除对该事件的处理?
因为您在控件的构造函数中连接外部事件处理程序,该事件侦听器也充当指向控件的指针(因此它不会被销毁,并且控件的每个实例都会调用代码)。
您想要捕获控件的Unloaded事件,并将以下内容添加到该处理程序(断开事件侦听器):
_myWebService.ForwardMessageCompleted -= OnForwardMessageCompleted;