public partial class Form1 : Form { private EventThrower _Thrower; public Form1() { InitializeComponent(); } private void DoSomething() { MessageBox.Show("It worked"); } private void button1_Click(object sender, EventArgs e) { _Thrower = new EventThrower(); //using lambda expression..need to use .NET2 so can't use this. _Thrower.ThrowEvent += (sender2, args) => { DoSomething(); }; var eventThrower = new EventThrower(); eventThrower.test(); } } public class EventThrower { public delegate void EventHandler(object sender, EventArgs args); public event EventHandler ThrowEvent = delegate { }; public void SomethingHappened() { ThrowEvent(this, new EventArgs()); } public void test() { System.Threading.Thread.Sleep(1000); SomethingHappened(); } }
I'm trying to get my winform UI to subscribe to an event in EventThrower class. DoSomething never fires.