在 C# 中调用计时器
本文关键字:计时器 调用 | 更新日期: 2023-09-27 18:32:11
我想知道是否有人可以提供一些建议。我需要在我的程序中自动化一个过程,当指纹被捕获时,它会通过在向导中调用 ShowNext() 自动进入下一页。
public partial class AddFingerprintsPage : Neurotec.Samples.WizardPage
...
#region Scanner // Fingerprint Scanner
public void timer1_Tick(object sender, EventArgs e)
{
Timer timer1 = new Timer();
timer1.Interval = 1000;
timer1.start() //
{
Form2 f2 = new Form2();
f2.Show(); // Display Form2 which asks user to present finger..
}
if (capturing..)
{
blah blah capture finger..
timer1.stop()
}
}
....
public partial class WizardForm : Form
....
public void ShowNext() // In the wizard form, go to the next page
{
ShowPage(_currentPage + 1, false);
}
我不确定什么是最好的。我尝试过制作一个if语句,所以当timer1.stop出现在指纹中时,我在WizardForm中调用它并转到下一页。但是我很确定我没有正确调用它,即使我有,我仍然有这个错误'非静态字段需要一个对象,属性的方法'NeurotechSamples.AddFingerprintsPage.timer1'
public void ShowNext()
{
if(Neurotec.Samples.Fingers.AddFingerprintsPage.timer1.stop()) // Not sure what to call here?
ShowPage(_currentPage + 1, false);
}
任何帮助将不胜感激!
在 AddFingerprintsPage 上,添加一个静态布尔值并将其命名为 "Stop",并在计时器停止时将值设置为 true:
public static bool Stopped = false;
if (capturing..)
{
blah blah capture finger..
timer1.stop()
Stopped = true;
}
然后你可以说:
public void ShowNext()
{
if(Neurotec.Samples.Fingers.AddFingerprintsPage.Stopped)
{
ShowPage(_currentPage + 1, false);
}
}
您得到的错误是,您需要创建一个新的 Neurotec.Samples.Fingers.AddFingerprintsPage 实例才能引用 timer1,因为它不是静态的。