如何在控制中删除处理程序



在构造函数中有一个控件

_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;

相关内容

  • 没有找到相关文章

最新更新