|
分類:[C#]
WindowsXPを使用しC#(VisualStudio2005)で開発をしています。
FormにPanel1を貼り付け、From_Load時にPanel1の上に動的に子Panelを複数貼り付けています。 Panel1の上にひとつPanel7を土台として生成し(AutoScroll=true)、さらに子Panel2,3,4,5,6,8,9,10が生成されて乗っています。 子panel2から10の幅は2900、高さは30、全て同じ高さと幅です。
子PanelをControls.Addしたあとで Panel7およびPanel1の高さと幅を再設定しているのですが、 Panel7の幅600,高さ200 Panel1の幅680,高さ235
Form_Load内での設定直後に、Debug.WriteLineで表示させると Panel7の幅600,高さが200となり、(合っているように見えるが画面表示したときの高さがまるで違う) Panel1の幅698,高さが238で、コードで書いたような幅と高さにならないのです。
どうやら高さは子パネル8枚×各30で240に近い値になっているようなのです。
さらにボタンクリック時に何も変更せずにそのままの幅と高さをDebug.WriteLineさせると、 Panel7の幅は620,高さは250 Panel1の幅は703,高さは288 とさらに異なってしまいます。
子パネル2〜10の幅と高さは、指定したとおりなのにPanel1とPanel7だけが違うのです。
格納した子コントロールの幅と高さに影響されることなく、土台のPanelをサイズ設定するには どうしたら良いのでしょうか。
|