|
■No14697 (CHOBI さん) に返信 > はい、下記のようになってます。 > Form child =new Form(); > this.IsMdiContainer = true; > child.MdiParent = this; > child.Show();
ああ、なんとなくわかりました。 MDI親フォームのデザインがMDIのお作法に従っていないのですね。
MDI子フォームは、詳細な計算は忘れましたが親から渡される子フォーム表示領域に描画されます。 その領域にコントロールを配置している場合、Z-Orderの計算上、親フォームの子コントロールよりも後ろに 子フォームが配置されるはずなので、通常のMDI親フォームでは、この「子フォーム表示領域」にはコントロールを配置しないようにデザインします。 で、ToolStripやMenuStripの様にDockがNoneでないものは、配置後に「子フォーム表示領域」を計算してくれるので そういったコンテナ上にコントロールを配置するのが適切ではないかと思います。
あとは、描画ロジックを自前で実装するとか、「子フォーム表示領域」の計算を自前でするとか、方法はあるとは思いますが たぶん、プロパティベースでどうこうできるレベルではないと思います。 (私が知らないだけかもしれませんが・・・。)
|