2011-11-09 4 views
2

可能性の重複:
How to update GUI from another thread in C#?スレッドのUIアイテムの値を変更するには?

私は別のスレッドでUI項目の値を変更することができますC#アプリケーションを作成する必要があります。だから、どうしたらいい?私は単純なスレッドオブジェクトを作成しようとし、TextViewテキストを変更しますが、例外があります。どうしたらいいですか?ありがとうございました。

答えて

1

これがWinFormsアプリケーションの場合は、Invoke/BeginInvokeメソッドを使用して、UIスレッドで呼び出しをマーシャリングする必要があります。また、WPF/Silverlightを使用している場合はDispatcher.BeginInvokeメソッドを使用する必要があります。

+0

私はInvoke(新しいMethodInvoker(enctyptThread))を使用します。しかし、私のUIは凍結されており、それは良い解決策ではありません – user1023177

+0

@ user1023177、あなたはこれをどこで使用していますか?通常これは、バックグラウンドスレッドで実行されるコールバックから行う必要があります。 –

+0

私はコールバックイベント(button1_click)を持っています - 私はここで新しいMethodInvoker(enctyptThread)を実行します。 – user1023177

1

Invokeを使用する必要があります。

+0

私はInvoke(新しいMethodInvoker(enctyptThread))を使用します。しかし、私のUIはフリーズしていて、それは良い解決策ではありません – user1023177