2016-04-11 93 views
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()方法。

+0

我不知道什麼是「它們發送到一箇中央服務器」是,但我的猜測是,這將是更好地從成功或失敗的某種方式得到通知。循環Application.DoEvents();不是一個理想的解決方案。 – user34660

+0

你的問題到底是什麼?如果只是缺少'Start()'和'Stop()',你已經提供瞭解決方案(將'timer1.Enabled'分別設置爲'true'和'false')。 –

回答

相關問題