我想知道是否有人可以提供一些建议。我需要在程序中自动执行一个过程,当捕获指纹时,它会通过向导中的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&#39 ;
public void ShowNext()
{
if(Neurotec.Samples.Fingers.AddFingerprintsPage.timer1.stop()) // Not sure what to call here?
ShowPage(_currentPage + 1, false);
}
任何帮助将不胜感激!
答案 0 :(得分:0)
在AddFingerprintsPage上,添加一个静态bool并将其命名为“Stopped”,并在计时器停止时将该值设置为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,因为它不是静态的。