MDI コンテナを閉じるとデスクトップの描画が崩れる

主フォームの Form.Opacity プロパティを 0% にしておく。Load イベントハンドラで操作者認証を別フォームで表示し、認証に成功した場合のみ主フォームの Form.Opacity を 100% にして画面を表示する。

今作成している VB .NET アプリケーションは、以上の方法で開始することが多い。だから新規作成するものに対してもそうした。 MDI 親フォームの Opacity をデザイナから 0% に変更し、 Load イベントハンドラの最後で 100% に設定しなおす。

でも、なぜか MDI 子フォームを最大化するとデスクトップの表示が崩れる。再描画されていない印象。

他のひとが作成したアプリケーションでは MDI コンテナの Opacity を変更しても問題ない。わたしが作成したものだけ、きちんと何度でも再現する。

仕方ないので Shared Sub Main プロシージャの中からスレッドを開始する方式に変更した。解決した。

何が違ってこうなるのだろう。なぞ。とりあえず直ったからよしとはする。