バーコードスキャンをキャプチャして中央サーバに送信する.Net Compact Frameworkで書かれたキオスクアプリケーションがあります。このプロセスは非常に速いため、私の「WAIT」通知は表示されません。スキャンが成功したというフィードバックはユーザーにはありません。 Timeクラスを使用して2秒間コードを一時停止して、ユーザーに通知する必要があります。私はそれが正しく働くようにすることはできません。私は、Compact FrameworkのTimerクラスには、フルフレームワークが楽しむメソッドのいくつかが欠けていることがわかります。ここでtimer for 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イベントは次のとおりです。
そこCompact Frameworkのドンで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;
}
}
Timer.Start()メソッドとTimer.Stop()メソッドのようです。
私は「中央サーバーに送信します」ですが、私の推測では、何らかの形で成功または失敗のことから通知を取得する方が良いだろうということが何であるかを知りません。 Application.DoEvents()のループ。理想的なソリューションではありません。 – user34660
あなたの質問は何ですか? 'Start()'と 'Stop()'が存在しない場合は、既に解決策を提供しています( 'timer1.Enabled'を' true'と 'false'にそれぞれ設定しています)。 –