我有一个使用.Net Compact Framework编写的自助服务终端应用程序,用于捕获条形码扫描并将其发送到中央服务器。这个过程非常快,我的“等待”通知永远不会出现。用户没有反馈提交了成功的扫描。 我想使用Time类暂停代码2秒,以便通知用户。我无法让它正常工作。我知道Compact Framework中的Timer类缺少完整框架所享有的一些方法。
这是我的活动分配
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()方法。
答案 0 :(得分:0)
您可能需要使用委托来更改UI线程的信息。 我无法看到你改变了什么样的状态,但是如果你还没有,你可以尝试一个委托。