C#混合定时器和循环
本文关键字:循环 定时器 混合 | 更新日期: 2023-09-27 18:23:59
我正在为生物识别系统创建一个自注册系统。我试着用定时器创建一个循环混合。我想拍摄一张图像,然后停止计时器,等待5秒,再拍摄5次。我试图使用thread.sleep,但它会使我的picturebox停止播放视频。但根据下面的代码,它将直接捕获5张图像,并不间断地循环。请纠正我。谢谢(5秒定时器>捕获>定时器停止)*5次,最后全部停止
private void timer1_Tick(object sender, EventArgs e)
{
int a = 1;
/* while loop execution */
while (a < 5)
{
CaptureFunction();
a++;
timer1.Stop();
}
timer1.Start();
}
您可以更改计时器的间隔,使其每5秒只触发一次:
http://msdn.microsoft.com/en-us/library/system.windows.forms.timer.interval(v=vs.100).aspx
5000相当于5秒。然后使用此代码:
int photosTaken = 0;
private void timer_Tick(object sender, EventArgs e)
{
CaptureFunction();
photosTaken++;
if(photosTaken == 5) { timer.Stop(); }
}
如果您想捕获另外5个,请使用此功能:
private void capture5()
{
photosTaken = 0;
timer.Start();
}
这应该解决:
int a = 1;
private void timer1_Tick(object sender, EventArgs e)
{
if(a <= 5)
{
CaptureFunction();
a++;
}
else
timer1.Stop();
//place this just in case....
}
哦。。。如果您真的想放置消息框,请将其放置在增量(a++)之后。