- - PR -
C# 初歩的でしょうが、外スレッドからフォームの要素にアクセス
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-02-12 00:16
時間のかかる処理を行っています。その処理の状況をPanelの描画・TextBoxへの出力・StatusBarへの出力で状況表示を行っているのですが
Thread thread = new Thread(Train); thread.IsBackground = true; thread.Start(); とすると、外からアクセスできませんと言われてしまいます、どうすればアクセスできるようになるでしょうかorz _________________ 有末 清華 crazy(){for;;{you();}} - プログラマの覚書 | ||||
|
投稿日時: 2007-02-12 00:24
コントロール スレッド - Google 検索
| ||||
|
投稿日時: 2007-02-12 00:45
うぁ、ずっと「フォーム スレッド外」で検索してましたorz
ありがとうございました*^^ _________________ 有末 清華 crazy(){for;;{you();}} - プログラマの覚書 | ||||
|
投稿日時: 2007-02-12 00:52
おまけ
コントロールが作成されたスレッド以外のスレッドから - Google 検索 | ||||
|
投稿日時: 2007-02-12 00:55
どうやら新しいBackgroundWorkerとやらがC#2.0では使えるみたいですね、サンプル少ないけど(苦笑
_________________ 有末 清華 crazy(){for;;{you();}} - プログラマの覚書 | ||||
|
投稿日時: 2007-02-12 01:25
だめだできないorz
Invokeのデリゲートに値を渡せないから状況をどうやって表示すればいいかわからない orz 現状が 処理クラスが処理 ↓ 各ポイントにてイベントを発生 ↓ そのイベントで送られてきた情報をラベル等に表示 ってのなんで、文字列などを渡したいんですが(orz 加えて処理を行うのに必要なデータもフォームから取ってきています…うーんどうすりゃ取得できるんだ???????? 難題です。 _________________ 有末 清華 crazy(){for;;{you();}} - プログラマの覚書 | ||||
|
投稿日時: 2007-02-12 01:44
Control.CheckForIllegalCrossThreadCalls = false
に仕方がないからします・・・orz _________________ 有末 清華 crazy(){for;;{you();}} - プログラマの覚書 | ||||
|
投稿日時: 2007-02-12 08:22
渡せますよ。 ヘルプを「きちんと」読んでみてください。 [ メッセージ編集済み 編集者: 渋木宏明(ひどり) 編集日時 2007-02-12 08:34 ] |