1

Checking()UI を更新するために呼び出される関数があります。この関数を AutoRun にしたいのですが、1 秒ごとに実行して UI を更新します。

どうやってやるの?

これが私の機能です:

public MainWindow()
{
    InitializeComponent();
    Checking()
}

public void Checking()
{
    if (status= Good)
        UI.color.fill= Green
    else
        UI.color.Fill = Red
}
4

3 に答える 3

1

このコードはあなたを助けることができます

//need to add  System.Timers in usings
using System.Timers;

//inside you code
//create timer with interval 2 sec
Timer timer=new Timer(2000);
//add eventhandler 
timer.Elapsed+=new ElapsedEventHandler(timer_Elapsed);
//start timer
timer.Start();


private void timer_Elapsed(object sender, ElapsedEventArgs e)
    {
        MessageBox.Show("324");
        //or other actions
    }
于 2013-02-01T05:53:26.193 に答える
0

DispathTimer は、UI を使用して 1 つのスレッドで動作するタイマーです。このコードはあなたを助けることができます

 public partial class MainWindow : Window {
    public MainWindow() {
        InitializeComponent();

        DispatcherTimer timer = new DispatcherTimer(){Interval = new TimeSpan(0,0,0,1)};
        timer.Tick += new EventHandler(timer_Tick);
        timer.Start();
    }

    void timer_Tick(object sender, EventArgs e) {
        Checking();
    }

    public void Checking()
    {   
       .....
    }
于 2013-02-01T07:39:32.973 に答える
0

Checking() で行われた変更がバインドされ、IPropertyNotifyChange が送信されたことを確認する必要があります。

using System.Reactive;
public MainWindow()
{
    InitializeComponent();
    Observable.Interval(TimeSpan.FromSeconds(1))
        .Subscribe( _ => Checking() );
}
于 2013-02-01T04:16:48.590 に答える