2011-09-28 40 views
1

除去處理程序我有具有在構造一個控制如何在控制

_myWebService.ForwardMessageCompleted + =新的EventHandler(OnForwardMessageCompleted);

private void OnForwardMessageCompleted(object sender, AsyncCompletedEventArgs e) 
     { 
      activity.IsActive = false; 
      if (e.Error == null) 
      { 
       RadWindow.Alert("The message has been forwarded"); 
      } 
     } 

控件有消息列表,用戶可以將其轉發給其他用戶。 的問題是,用戶打開該控制很多次,每次創建它處理的時間被添加到

_myWebService.ForwardMessageCompleted 

如何刪除處理此事件?

回答

2

因爲要連接在控制的構造函數外部事件處理程序,該事件偵聽器也作爲一個指針控制(所以它沒有被破壞,代碼被要求控制的每一個實例) 。

你想趕上你控制的空載情況下,添加以下到處理器(斷開事件偵聽器):

_myWebService.ForwardMessageCompleted -= OnForwardMessageCompleted; 
+0

+1卸載。我不知道這件事,並且在那裏我加了一些沒有處理的東西。謝謝 – user278618