2017-09-18 60 views
1

私はTableLayoutPanelを含むコントロールで作業しています。 パネルにはX行とY列があり、各セルのサイズは同じです。 各セルにはControl が含まれています。親コントロールのサイズを変更しているときは、各セルのサイズを変更しておき、同じサイズを維持します。TableLayoutPanel - リサイズ親コントロールの各セルのサイズを変更します

細胞に添加したときに、私はControls'Anchorを設定しようとしました:

​​

をしかし、これは一番下の行と一番右の列が拡大します。

答えて

2

デザイナーまたはコードを使用すると、列と行のSizeTypePercentに設定し、サイズに同じパーセント値を割り当てることができます。また、コントロールのDockプロパティをFillに設定します。例えば

tableLayoutPanel1.ColumnStyles.Clear(); 
tableLayoutPanel1.RowStyles.Clear(); 
for (var i = 0; i < tableLayoutPanel1.ColumnCount; i++) 
{ 
    var percent = 100f/(float)tableLayoutPanel1.ColumnCount; 
    tableLayoutPanel1.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, percent)); 
} 
for (var i = 0; i < tableLayoutPanel1.RowCount; i++) 
{ 
    var percent = 100f/(float)tableLayoutPanel1.RowCount; 
    tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Percent, percent)); 
} 
+0

ありがとう!これは大きな助けとなりました。 しかし、奇妙なことが起こっています:最後の行、そして最後の列は他の行/列よりほんの少し大きいですか? SizeTypeをAbsoluteに設定すると、サイズは同じになりますがサイズは変更されません。 – Moelbeck

+0

ようこそ。例[ここ](https://stackoverflow.com/a/33969228/3110834)を見てください。私はあなたがコメントで述べた問題を再現できませんでした。 –

+0

別の例[ここ](https://stackoverflow.com/a/34426939/3110834)。 –

関連する問題