20/04/11 16:56
Sparvier0
Salve,
vorrei creare un evento personalizzato che si attivi quando una variabile booleana viene posta a true.
Ho fatto così, ma credo sia molto sbagliato:
Classe BooleanaEventArgs
Classe EventHandler
Classe dove viene impostata la variabile bool a true dopo una serie di istruzioni
Dove sbaglio??
Non ditemi che è tutto sbagliato, please
vorrei creare un evento personalizzato che si attivi quando una variabile booleana viene posta a true.
Ho fatto così, ma credo sia molto sbagliato:
Classe BooleanaEventArgs
namespace MITProg { class BooleanaEventArgs : EventArgs { private bool booleana; public bool Booleana{ get { return booleana;} } public BooleanaEventArgs(bool booleana){ this.booleana = booleana; } } }
Classe EventHandler
namespace MITProg { public class EventHandlerClass { public void HandleEventoTrue(BooleanaEventArgs e) { MessageBox.Show("Valore true", "Evento"); } } }
Classe dove viene impostata la variabile bool a true dopo una serie di istruzioni
namespace MITProg { public delegate void BooleanaDelegate(BooleanaEventArgs); public partial class RiassuntoParametri : Form { public event BooleanaDelegate EventoTrue; private bool booleana; public void SubscribeEventoTrue(BooleanaDelegate eventHandler) { EventoTrue += eventHandler; } public void UnsubsribeEventoTrue(BooleanaDelegate eventHandler) { EventoTrue -= eventHandler; } private void ChiamaEvento() { if (EventoTrue != null) { EventoTrue(new BooleanaEventArgs(true)); } } public RiassuntoParametri() { InitializeComponent(); } // Caricamento del form // private void RiassuntoParametri_Load(object sender, EventArgs e) { ........... Altra roba .............. // gestione evento booleano EventHandlerClass handler = new EventHandlerClass(); RiassuntoParametri prova = new RiassuntoParametri(); prova.SubscribeEventoTrue(new BooleanaDelegate(handler.HandleEventoTrue)); booleana = true; if (booleana) { ChiamaEvento(); } prova.UnsubsribeEventoTrue(new BooleanaDelegate(handler.HandleEventoTrue));
Dove sbaglio??
Non ditemi che è tutto sbagliato, please
aaa