回答編集履歴

1 追記

Zuishin

Zuishin score 18040

2016/07/13 16:57  投稿

やったことなかったので知りませんでしたが、本当に例外が発生しますね。
とりあえず以下のコードで例外の発生をおさえることができました。
```C#
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e)
{
   Invoke((MethodInvoker)(() =>
   {
       Debug.WriteLine(comboBox1.SelectedIndex);
   }));
}
```
`Invoke()` というのは、Form を作成したスレッドで処理を行いなさいというメソッドです。
`Invoke()` というのは、Form を作成したスレッドで処理を行いなさいというメソッドです。
ですからこの場合、さらにネストが深くなってしまいますが、`Debug.WriteLine(comboBox1.SelectedIndex);` の部分を必要な処理に書き換えてください。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る