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

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

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

Re[1]: パネルのサイズがコントロールできない


(過去ログ 50 を表示中)

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■27709 / inTopicNo.1)  パネルのサイズがコントロールできない
  
□投稿者/ ありあり (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をサイズ設定するには
どうしたら良いのでしょうか。


引用返信 編集キー/
■27715 / inTopicNo.2)  Re[1]: パネルのサイズがコントロールできない
□投稿者/ ありあり (28回)-(2008/11/12(Wed) 20:22:56)
No27709 (ありあり さん) に返信
> 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をサイズ設定するには
> どうしたら良いのでしょうか。
>
>

自己解決です。
ボタンクリック時にサイズを設定し、Form_load時にbutton1.perform_clickで呼び出すことで解決しました。

解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -