the_tube
22-07-2010, 13:37
Ciao a tutti, chiedo scusa in anticipo per le castronate che potrò dire, ma sono un newby di C#...
Su una form WPF ho inserito un controllo grafico (per semplicità supponiamo un Button che chiamo MyControl) su cui ho definito alcuni eventi in questo modo:
MyControl.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(MyControl_MouseLeftButtonDown);
dove MyControl_MouseLeftButtonDown è la funzione richiamata quando scatta l'evento.
Il mio programma accetta dei plugin, i quali si impossessano del controllo grafico per utilizzarlo (glielo passo come parametro). Quello che vorrei fare nel plugin è questo:
salvare la definizione corrente dell'evento associato a MyControl.MouseLeftButtonDown (ad esempio con una specie di riferimento a MyControl_MouseLeftButtonDown)
eliminare l'assegnazione corrente da MyControl.MouseLeftButtonDown
effettuare una nuova assegnazione a MyControl.MouseLeftButtonDown con una funzione specifica del plugin
al momento di scaricare il plugin, ripristinare il contenuto di MyControl.MouseLeftButtonDown con quello che avevo salvato al primo punto
Non posso usare l'operatore "-=" su MyControl.MouseLeftButtonDown perché il plugin è un contesto che non conosce la MainForm nella quale è definito l'evento MyControl_MouseLeftButtonDown.
Esiste un modo per trattare MyControl.MouseLeftButtonDown come una specie di lista di eventi a lui associato, in modo da poter salvare, ripristinare e manipolare in tal senso?
Spero di essermi spiegato bene.... :stordita:
Grazie a tutti in anticipo,
TT.
Su una form WPF ho inserito un controllo grafico (per semplicità supponiamo un Button che chiamo MyControl) su cui ho definito alcuni eventi in questo modo:
MyControl.MouseLeftButtonDown += new System.Windows.Input.MouseButtonEventHandler(MyControl_MouseLeftButtonDown);
dove MyControl_MouseLeftButtonDown è la funzione richiamata quando scatta l'evento.
Il mio programma accetta dei plugin, i quali si impossessano del controllo grafico per utilizzarlo (glielo passo come parametro). Quello che vorrei fare nel plugin è questo:
salvare la definizione corrente dell'evento associato a MyControl.MouseLeftButtonDown (ad esempio con una specie di riferimento a MyControl_MouseLeftButtonDown)
eliminare l'assegnazione corrente da MyControl.MouseLeftButtonDown
effettuare una nuova assegnazione a MyControl.MouseLeftButtonDown con una funzione specifica del plugin
al momento di scaricare il plugin, ripristinare il contenuto di MyControl.MouseLeftButtonDown con quello che avevo salvato al primo punto
Non posso usare l'operatore "-=" su MyControl.MouseLeftButtonDown perché il plugin è un contesto che non conosce la MainForm nella quale è definito l'evento MyControl_MouseLeftButtonDown.
Esiste un modo per trattare MyControl.MouseLeftButtonDown come una specie di lista di eventi a lui associato, in modo da poter salvare, ripristinare e manipolare in tal senso?
Spero di essermi spiegato bene.... :stordita:
Grazie a tutti in anticipo,
TT.