// 激活事件的方法,创建了FireEventArgs 对象,发起事件,并将事件参数对象传递过去 public void ActivateFireAlarm(string room, int ferocity) { FireEventArgs fireArgs = new FireEventArgs(room, ferocity); // 执行对象事件处理函数指针,必须保证处理函数要和声明代理时的参数列表相同 FireEvent(this, fireArgs); }
// 火情alarm时这个函数将会执行 void ExtinguishFire(object sender, FireEventArgs fe) { FireEventTest.form.textBox1.AppendText("处理火情的函数是被这个调用的: " + sender.ToString() + "\n"); if (fe.ferocity < 2) { FireEventTest.form.textBox1.AppendText(Environment.NewLine + "发生在" + fe.room + "的火情已经没事了。我将通过泼水来挽救." + Environment.NewLine); } else if (fe.ferocity < 5) { FireEventTest.form.textBox1.AppendText(Environment.NewLine + "我用灭火器扑灭" + fe.room + "里的火。" + Environment.NewLine); } else { FireEventTest.form.textBox1.AppendText(Environment.NewLine + fe.room + "里的火情失控了!我将打电话给消防局!" + Environment.NewLine); } }