2016-03-06 19 views
0

美好的一天!我不知道我的頭銜是否正確。請如果不改變:反正d如何刪除當前正在運行的課程

,我有加入List<Rectangle> 3個矩形並給予他們活動[塗料/的MouseDown /的MouseUp /鼠標移動]他們每個人的類加載它 。

現在,具有類的3個矩形現在正在運行。

現在,當我在List<Rectangle> 中刪除1個矩形並重新加載時,刪除的矩形仍在運行。

我該如何處理當前正在運行的類或類?

謝謝!

回答

0

找到了解決辦法。

public EventHandlerList DetachEvents(Component obj) 
    { 
     object objNew = obj.GetType().GetConstructor(new Type[] { }).Invoke(new object[] { }); 
     PropertyInfo propEvents = obj.GetType().GetProperty("Events", BindingFlags.NonPublic | BindingFlags.Instance); 

     EventHandlerList eventHandlerList_obj = (EventHandlerList)propEvents.GetValue(obj, null); 
     EventHandlerList eventHandlerList_objNew = (EventHandlerList)propEvents.GetValue(objNew, null); 

     eventHandlerList_objNew.AddHandlers(eventHandlerList_obj); 
     eventHandlerList_obj.Dispose(); 

     return eventHandlerList_objNew; 
    } 
+0

從此鏈接。 stackoverflow.com/questions/91778/how-to-remove-all-event-handlers-from-a-control –