0
我有一个使用.Net Compact Framework编写的自助服务终端应用程序,可捕获条形码扫描并将它们发送到中央服务器。这个过程非常快,我的“等待”通知从不出现。没有反馈给用户已提交成功的扫描。 我想使用Time类将代码暂停2秒,以便通知用户。我无法让它正常工作。我知道精简框架中的Timer类缺少一些完整框架所喜欢的方法。适用于Windows Embedded Compact的计时器
这里是我的事件指配
this.timer1.Tick += new EventHandler(StatusTick);
这里是我的代码使用定时器
interval = Convert.ToInt32(x.ReadAppSetting("display_interval"));
this.timer1.Interval = interval;
this.timer1.Enabled = true;
while (exitFlag == false)
{
Application.DoEvents();
}
this.timer1.Enabled = false;
这里是我的Tick事件:
private void StatusTick(object sender, EventArgs e)
{
if (interval > 0)
{
changeStatusLabel("WAIT");
labelCardNumber.Text = readerData.Text;
interval = interval - 1000;
}
else
{
changeStatusLabel("READY");
labelCardNumber.Text = "";
exitFlag = true;
}
}
在Compact Framework的有别似乎不是Timer.Start()和Timer.Stop()方法。
我不知道什么是“它们发送到一个中央服务器”是,但我的猜测是,这将是更好地从成功或失败的某种方式得到通知。循环Application.DoEvents();不是一个理想的解决方案。 – user34660
你的问题到底是什么?如果只是缺少'Start()'和'Stop()',你已经提供了解决方案(将'timer1.Enabled'分别设置为'true'和'false')。 –