• ベストアンサー

BackgroundWorkerの処理

マルチスレッド機能であるBackgroundWorkerを利用してプログラムを書いていたのですが DoWorkからコントロールへのアクセスが出来ません。 どうすればコントロールへアクセスできるのでしょうか? 誰かお詳しい方、ご教授願います。 Private Sub back1_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles back1.DoWork     textbox1.text="処理中とか表示したい" End Sub

質問者が選んだベストアンサー

  • ベストアンサー
  • todo36
  • ベストアンサー率58% (728/1234)
回答No.2
kyotokyo
質問者

お礼

まさに求めていた内容です。 ありがとうございます。 いろいろ検索してみても ぴったりくる情報が出てこなかったのでありがとうございます。

その他の回答 (1)

  • freetaka
  • ベストアンサー率53% (106/197)
回答No.1

BackgroundWorkerの処理を開始するコードは記述しましたか? たとえばボタンを押して処理を開始するのであれば Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click back1.RunWorkerAsync() End Sub のように処理開始の記述が必要です もしすでに記述してあるのであれば 記述してある場所や記述したコードに問題があることも考えられます 一度チェックしてみてください

kyotokyo
質問者

お礼

別スレッドで処理を走らせていると コントロールにアクセスできないみたいです。

関連するQ&A