- PR -

C# 初歩的でしょうが、外スレッドからフォームの要素にアクセス

投稿者投稿内容
有末 清華
ベテラン
会議室デビュー日: 2006/10/09
投稿数: 52
お住まい・勤務地: 北海道
投稿日時: 2007-02-12 00:16
時間のかかる処理を行っています。その処理の状況をPanelの描画・TextBoxへの出力・StatusBarへの出力で状況表示を行っているのですが

Thread thread = new Thread(Train);
thread.IsBackground = true;
thread.Start();

とすると、外からアクセスできませんと言われてしまいます、どうすればアクセスできるようになるでしょうかorz
_________________
有末 清華
crazy(){for;;{you();}} - プログラマの覚書
Hongliang
ぬし
会議室デビュー日: 2004/12/25
投稿数: 576
投稿日時: 2007-02-12 00:24
コントロール スレッド - Google 検索
有末 清華
ベテラン
会議室デビュー日: 2006/10/09
投稿数: 52
お住まい・勤務地: 北海道
投稿日時: 2007-02-12 00:45
うぁ、ずっと「フォーム スレッド外」で検索してましたorz


ありがとうございました*^^
_________________
有末 清華
crazy(){for;;{you();}} - プログラマの覚書
Hongliang
ぬし
会議室デビュー日: 2004/12/25
投稿数: 576
投稿日時: 2007-02-12 00:52
おまけ
コントロールが作成されたスレッド以外のスレッドから - Google 検索
有末 清華
ベテラン
会議室デビュー日: 2006/10/09
投稿数: 52
お住まい・勤務地: 北海道
投稿日時: 2007-02-12 00:55
どうやら新しいBackgroundWorkerとやらがC#2.0では使えるみたいですね、サンプル少ないけど(苦笑
_________________
有末 清華
crazy(){for;;{you();}} - プログラマの覚書
有末 清華
ベテラン
会議室デビュー日: 2006/10/09
投稿数: 52
お住まい・勤務地: 北海道
投稿日時: 2007-02-12 01:25
だめだできないorz

Invokeのデリゲートに値を渡せないから状況をどうやって表示すればいいかわからない orz

現状が

処理クラスが処理

各ポイントにてイベントを発生

そのイベントで送られてきた情報をラベル等に表示

ってのなんで、文字列などを渡したいんですが(orz

加えて処理を行うのに必要なデータもフォームから取ってきています…うーんどうすりゃ取得できるんだ????????

難題です。
_________________
有末 清華
crazy(){for;;{you();}} - プログラマの覚書
有末 清華
ベテラン
会議室デビュー日: 2006/10/09
投稿数: 52
お住まい・勤務地: 北海道
投稿日時: 2007-02-12 01:44
Control.CheckForIllegalCrossThreadCalls = false

に仕方がないからします・・・orz
_________________
有末 清華
crazy(){for;;{you();}} - プログラマの覚書
渋木宏明(ひどり)
ぬし
会議室デビュー日: 2004/01/14
投稿数: 1155
お住まい・勤務地: 東京
投稿日時: 2007-02-12 08:22
引用:

Invokeのデリゲートに値を渡せないから状況をどうやって表示すればいいかわからない orz



渡せますよ。
ヘルプを「きちんと」読んでみてください。

[ メッセージ編集済み 編集者: 渋木宏明(ひどり) 編集日時 2007-02-12 08:34 ]

スキルアップ/キャリアアップ(JOB@IT)