在后台运行时间函数库

时间:2013-01-21 01:30:43

标签: c# function time timer

我有一个功能来更新我的UI: 目前我在我的Action函数中调用此函数超过8次,这将更新我的UI

   public void CheckStatus()
        {
             this.ovl_stacker1.FillColor =
             OvalShape == MEssage.EMPTY ? Color.Red :
                        OvalShape == Message.WARNING ? Color.Yellow : Color.Green;
            this.OvalShape .Refresh();
}

我怎样才能使这个功能在我的主电源上每5秒自动运行一次? (因为我不想多次调用其他函数中的函数)

这是我的ActionFunction

       public void Action()
{
//do something....
checkstatus();
//do something.......
checkstatus();
//do something........
checkstatus();
...
...
..
}

2 个答案:

答案 0 :(得分:3)

要每隔5秒调用一个方法,你可以使用一个计时器,但我不认为这是正确的解决方案。 (虽然,为了使计时器工作,你还需要让UI线程空闲,而你似乎不需要。)

相反,您应该在实际更改状态时调用CheckStatus(),最好是在相关属性的setter中。

答案 1 :(得分:0)

我想你会想要使用System.Windows.Forms.Timer