.NET framework 1.1でも、別Thread(親など)で作成されたコントロールの子コントロールは作成できません。
Threadプログラミングに精通された方なら当たり前と思うかもしれませんが、最初にぶち当たった壁でした。
そして.NET framework 2.0で更なる壁が。。
別スレッドが作ったコントロールにアクセスすることもできなくなっていました。
内部変数を作り、それを介してアクセスするしかなくなりました。。。例えば、Thread関数中で生成された値をステータスバーに表示するなどもダメです。Thread中でユーザーが変更できるテキストボックスの値を取得するのは確かによくないかなぁなんて思うんですが(もしユーザーが値を変更した場合タイミングによって取得する値が変わるから)。。
とりあえず、せっせと変更作業をしています。Threadから直接コントロールにアクセスするのは良くないスタイルだったのかなぁと反省しつつ。
MessageBox.Show(this,....)のthisも、もちろんダメ。き、きびすぃー!