Ho una lista di Button
, e aggiungo un gestore di eventi per ogni pulsante:Devo rimuovere un gestore di eventi?
List<Button> buttons = new List<Button>();
for (int i = 0; i < 10; i++)
{
Button btn = new Button();
btn.Click = new RoutedEventHandler(OnbtnClick);
buttons.Add(btn);
}
Poi ho cancellare l'elenco:
/* Have I to remove all events here (before cleaning the list), or not?
foreach (Button btn in buttons)
btn.Click -= new RoutedEventHandler(OnbtnClick);
*/
buttons.Clear();
Potrei sbagliarmi, ma non credo btn.Click - = new RoutedEventHandler (OnbtnClick); rimuove anche il gestore, poiché si sta utilizzando il nuovo operatore invece del gestore aggiunto originale. –
@KDiTraglia È una sintassi valida, si veda [questo] (http://msdn.microsoft.com/en-us/library/aa645739 (v = vs.71) .aspx) tutorial. – gliderkite
@gliderkite ah mio errore, pensavo di ricordare di aver letto da qualche parte che non funzionava. –