2012-03-04 9 views
0

私はwinformsでRxを使うことを学んでいます。私はこのコードを使用するとき私のprogressBarを更新する方法を教えてください。Winformsのリアクティブエクステンション

Observable.ToAsync<Boolean>(DoLogin)().ObserveOnDispatcher().Subscribe(
    l => { 
     XtraMessageBox.Show(this, "Welcome " + DefaultManager.Principal.Identity.Name, "Loged in successfully", MessageBoxButtons.OK, MessageBoxIcon.Information); 
    }, 
    ex => { MessageBox.Show(ex.Message); }, 
    () => { } 
); 

答えて

0

あなたは既に、観察がObserveOnDispatcherが加入者に通知を派遣するために呼ばれたときに、スレッド上にあったSynchronizationContextを使用するときことを意味し、ObserveOnDispatcherを呼んでいます。この場合

、それが加入者に発行するメッセージポンプを使用するスレッドである(truestatic AutoInstall propertyを設定することによって設定することができる)WindowsFormsSynchronizationContextインスタンスであろう。

基本的には、XtraMessageBoxへの呼び出しをProgressBar instanceへの呼び出しで置き換えて、サブスクリプションが通知されたときに更新することができます。

関連する問題