gpt4 book ai didi

c# - 列样式不适用于 TableLayoutPanel

转载 作者:行者123 更新时间:2023-11-30 20:51:10 25 4
gpt4 key购买 nike

我有一个 TableLayoutPanel,它具有由用户确定的动态数量的列和行。我希望里面的按钮是方形的并且大小相同,但是每当我使用循环来设置列/行样式时,它们永远不会变成我想要的大小。

如何获取列/行样式以设置容器元素的适当宽度和高度?

这是处理设置表格宽度大小的代码的循环方法(我对行使用类似的方法)

 void FormatTableWidth(ref TableLayoutPanel container)
{
TableLayoutColumnStyleCollection columnStyles = container.ColumnStyles;
foreach (ColumnStyle style in columnStyles)
{
style.SizeType = SizeType.Absolute;

style.Width = 60;
}
}

最佳答案

你可以这样做......

public void AddButtontControls()
{
tblPanel.SuspendLayout();
tblPanel.Controls.Clear();
tblPanel.GrowStyle = TableLayoutPanelGrowStyle.FixedSize;//.AddColumns;
tblPanel.ColumnStyles.Clear();
for (int i = 0; i < tblPanel.ColumnCount; i++)
{
ColumnStyle cs = new ColumnStyle(SizeType.Percent, 100 / tblPanel.ColumnCount);
tblPanel.ColumnStyles.Add(cs);

//Add Button
Button a = new Button();
a.Text = "Button " + i + 1;
tblPanel.Controls.Add(a);
}
tblPanel.ResumeLayout();
}

关于c# - 列样式不适用于 TableLayoutPanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21978747/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com