C# 如何让System.Windows.Forms.Timer在启动时立即运行勾号处理程序?
下面是C# 如何让System.Windows.Forms.Timer在启动时立即运行勾号处理程序?,c#,timer,C#,Timer,下面是System.Windows.Forms.Timer C#代码: 计时器将每10秒doSth一次,但如何让它在启动时立即doSth 我试图创建一个扩展timer的自定义计时器,但无法覆盖Start方法 现在,我的代码是: myTimer.Start(); doSth(this, null); 我觉得不好。如何改进它?它很完美。什么都不要更改。我不确定您的确切要求,但为什么不将代码放在另一个方法中的计时器回调中呢 e、 g 这样,您就可以在应用程序启动时调用DoTimerStuff() 计
System.Windows.Forms.Timer
C#代码:
计时器将每10秒doSth
一次,但如何让它在启动时立即doSth
我试图创建一个扩展timer
的自定义计时器,但无法覆盖Start
方法
现在,我的代码是:
myTimer.Start();
doSth(this, null);
我觉得不好。如何改进它?它很完美。什么都不要更改。我不确定您的确切要求,但为什么不将代码放在另一个方法中的计时器回调中呢 e、 g
这样,您就可以在应用程序启动时调用DoTimerStuff() 计时器必须具有窗体级别的作用域,但不清楚您是否具有该作用域。出于好奇,我想出了一个小例子,它对我很有用:
private void Form1_Load(object sender, EventArgs e)
{
txtLookup.Text = "test";
DoSomething();
timer1.Start();
}
private void timer1_Tick(object sender, EventArgs e)
{
DoSomething();
}
private void DoSomething()
{
txtLookup.Text += "ticking";
}
每隔10秒,它会在文本框中的文本上追加另一个“滴答声”
你说
计时器将每10秒计时一次,但如何让它在启动时立即计时
我说,在调用计时器的启动方法之前立即调用doSth,我认为这很好。另请参见.Freewind,您可以更改这个myTimer.Tick+=neweventhandler(doSth);看看下面的答案和例子,我已经发布了***没有必要在间隔时间结束时传递任何发送者的get呼叫。
private void tmrOneSec_Tick(object sender, System.EventArgs e)
{
DoTimerStuff();
}
private void DoTimerStuff()
{
//put the code that was in your timer callback here
}
private void Form1_Load(object sender, EventArgs e)
{
txtLookup.Text = "test";
DoSomething();
timer1.Start();
}
private void timer1_Tick(object sender, EventArgs e)
{
DoSomething();
}
private void DoSomething()
{
txtLookup.Text += "ticking";
}