0

UI を更新する関数が 1 つあります。現在、UI を更新するアクション関数でこの関数を 8 回以上呼び出しています。

   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();
...
...
..
}
4

2 に答える 2

3

5 秒ごとにメソッドを呼び出すには、タイマーを使用できますが、ここでは適切な解決策ではないと思います。(ただし、タイマーを機能させるには、UI スレッドをアイドル状態にする必要もありますが、そうではないようです。)

代わりにCheckStatus()、ステータスを実際に変更するときに、理想的には関連するプロパティのセッターで呼び出す必要があります。

于 2013-01-21T01:39:15.347 に答える
0

System.Windows.Forms.Timerクラスを使いたいと思うと思います

于 2013-01-21T01:39:16.250 に答える