我使用网络摄像头创建了一个倒计时(设置为5秒)的计时器。
它以5、4、3、2、1开头,当其达到0时,我将调用网络摄像头功能以拍摄照片。
秒数通过标签显示。
计时器出现问题,时间间隔不完全是1秒,我可以看到屏幕刷新停止了超过2秒或更长时间,然后标签中的数字发生了变化。
有人可以帮忙吗?
它以5、4、3、2、1开头,当其达到0时,我将调用网络摄像头功能以拍摄照片。
秒数通过标签显示。
计时器出现问题,时间间隔不完全是1秒,我可以看到屏幕刷新停止了超过2秒或更长时间,然后标签中的数字发生了变化。
有人可以帮忙吗?
C#:
public System.Windows.Forms.Timer tmrTakePhotoCountdown = new System.Windows.Forms.Timer();
tmrTakePhotoCountdown.Interval = 1000;
tmrTakePhotoCountdown.Tick += new System.EventHandler(this.tmrTakePhoto_Tick);
private void GotoTakePhoto()
{
initCamera();
// start countdown
int takePhotoCountDown = 5; //5 secs
CountDown(takePhotoCountDown);
}
DateTime start;
int timeLeft;
public void CountDown(int seconds)
{
start = DateTime.Now;
timeLeft = seconds;
tmrTakePhotoCountdown.Start();
lblCountdown.Visible = true; //label to display seconds to phototake
lblCountdown.Text = timeLeft.ToString();
}
private void tmrTakePhoto_Tick(object sender, EventArgs e)
{
lblCountdown.Text = timeLeft.ToString();
timeLeft -= 1;
if (timeLeft < 0)
{
tmrTakePhotoCountdown.Stop();
videoCaptureDevice.Stop();
lblCountdown.Visible = false;
pixTakePhotoAccept.Visible = true;
pixTakePhotoRetake.Visible = true;
pixTakePhotoCancel.Visible = true;
}
}