2012-04-10 6 views
0

C#のシリアルDataReceivedイベントのデータでプロパティを更新する必要があるクラスがあります。親クラスのC#DataReceivedスレッドのデータを使用(UIなし、呼び出すことはできません)

私はUIを更新しようとしていませんが、(別のスレッドで実行される)DataReceivedイベントの結果を使用して見つかった唯一の参考資料は、.Invokeを使用してUIコントロールにデータを取得すると言います。私のクラスはUIに関連付けられていないので、.Invokeは利用できません。

ハンドラがクラス内のプロパティを変更しようとすると、恐怖のエラーが表示されます。「別のスレッドがこのオブジェクトを所有しているため、このオブジェクトにアクセスできません。

結果を親スレッドに取得するプロセスとは何ですか?

+1

クラスを表示します。 –

+0

「データをUIコントロールに取得する」、「UIコントロールがありません」とします。それはどちらですか? –

+0

このリンクを試してください:http://www.codeproject.com/Articles/75770/Basic-serial-port-listening-application – Simon

答えて

1

DALまでUIリファレンスを提供したくない場合は、SynchronizationContextを使用してこの方法をとることができます。

+0

ありがとう@MChicago。それは私がプロジェクトに前進するために必要なものでした。 –

関連する問題