C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 50 を表示中)
■27709 / )  パネルのサイズがコントロールできない
□投稿者/ ありあり (27回)-(2008/11/12(Wed) 19:19:21)

分類:[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をサイズ設定するには
どうしたら良いのでしょうか。


返信 編集キー/


管理者用

- Child Tree -