Windows Embedded Compact的计时器

时间:2016-04-11 16:41:38

标签: c# timer compact-framework

我有一个使用.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()方法。

1 个答案:

答案 0 :(得分:0)

您可能需要使用委托来更改UI线程的信息。 我无法看到你改变了什么样的状态,但是如果你还没有,你可以尝试一个委托。

请参阅: How to update the GUI from another thread in C#?