using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace Go
{
public partial class Form1 : Form
{
public Form1()
{
checkEH += OnPlus;
checkEH += OnOp;
InitializeComponent();
Initial();
}
public delegate void checkEnventHandler(object sender, checkEventArgs e);
public event checkEnventHandler checkEH;
public class checkEventArgs : EventArgs
{
public string str = "Hello World!";
public checkEventArgs(string str)
{
this.str = str;
}
//MessageBox.Show(str);
~checkEventArgs()
{}
}
public void OncheckEH(checkEventArgs e)
{
checkEH(this, e);
}
public int a = 0;
public int b = 0;
public string strOp = "String OpVeal";
public void OnOp(object sender, checkEventArgs e)
{
b = 0;
b++;
strOp = "/////*****";
}
public void OnPlus(object sender, checkEventArgs e)
{
a = 9;
}
private void btn_Click(object sender, EventArgs e)
{
checkEventArgs msg = new checkEventArgs("HOO");
OncheckEH(msg);
txt.Text += strOp;
txt.Text += "*******";
txt.Text += a.ToString();
txt.Text += "*******";
txt.Text += b.ToString();
timer2.Enabled = true;
}
public System.Timers.Timer timer1 = new System.Timers.Timer();
public System.Timers.Timer timer2 = new System.Timers.Timer();
public List<System.Timers.Timer> lsttimer = new List<System.Timers.Timer>();
public void Get1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
a++;
if (a>46)
{
timer1.Enabled = false;
timer2.Enabled = true;
}
}
public void Get2_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
b++;
MessageBox.Show("Waiting...");
if (b > 10)
{
timer2.Enabled = false;
}
}
public void Initial()
{
timer1 = new System.Timers.Timer(5000);
timer1.Elapsed += new System.Timers.ElapsedEventHandler(Get1_Elapsed);
lsttimer.Add(timer1);
timer2 = new System.Timers.Timer(1000);
timer2.Elapsed += new System.Timers.ElapsedEventHandler(Get2_Elapsed);
lsttimer.Add(timer2);
}
}
}
在EventHandler中添加事件时,不能重复执行添加事件函数(Initial),否则导致EventHandler中多次添加该事件,会重复执行。
Timer计时器中添加事件,如果不将计时器的使能置为false,则会一直执行下去。