我正在处理一个包含TableLayoutPanel
的控件。
该面板包含X行和Y列 - 其中每个单元格的大小相同。
每个单元格包含Control
在调整父控件的大小时,我希望每个单元格也可以调整大小,并保持相同的大小。
我已尝试在添加到单元格时设置Controls'
Anchor
:
control.Anchor = AnchorStyles.Left | AnchorStyles.Top |
AnchorStyles.Right | AnchorStyles.Bottom;
但这只会使最底行和最右列扩展。
答案 0 :(得分:2)
使用设计器或代码,您可以将SizeType
列和行设置为Percent
,并为其大小指定相同的百分比值。同时将控件的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));
}