C# 写定时器(不拖控件)
private Timer loginTimer; //定义一个定时器 这时需要引入命名空间:using System.Timers;private int loginCouter; //登陆次数计数器
private TimerTest()
{
if(false) //此处为伪代码
{
//登陆失败
}
this.loginCouter = 0; //登陆次数清0
this.loginTimer = new System.Timers.Timer() //给定时器设定属性
{
AutoReset = false, //自动更新为false
Interval = 200 //200毫秒重启一次定时器
};
this.loginTimer.Elapsed += new ElapsedEventHandler(loginTimer_Elapsed); //注册定时器需要执行的事件
this.loginTimer.Start(); //启动定时器
}
void loginTimer_Elapsed(object sender, ElapsedEventArgs e) //事件内部写功能
{
this.loginCouter++;
if (登陆成功) //此处为伪代码
{
this.Dispatcher.BeginInvoke(new Action(() => {
this.ConsoleTextBox.Text = "登陆成功!\n";
}), null); //这样写的目的是,为了启动一个线程和别的线程分开(采用多线程)来运行定时器,以不至于由于单线程导致程序卡死 www.zzzyk.com
}
else if (this.loginCouter>150)
{
this.Dispatcher.BeginInvoke(new Action(() =>
{
this.ConsoleTextBox.Text = "登陆请求超时!\n";
}), null);
}
else
{
this.loginTimer.Start(); //重启定时器
}
}
作者:haitaoDoit
补充:软件开发 , C# ,