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')。 –