自动在表单上安排无限数量的按钮

时间:2016-05-13 18:56:50

标签: c# winforms algorithm

我尝试动态生成一堆按钮。按钮的数量取决于有多少个坑,并且这是从数据库中检索的。

以下是它的样子:

buttons

以下是我用来生成它们的内容:

.sr-only {position: absolute;  width: 1px;  height: 1px;  padding: 0;  margin: -1px;  overflow: hidden;  clip: rect(0 0 0 0);  border: 0; }

问题是它只能用于2行,并且它是一种硬编码。如何改进它以支持无限数量的按钮。

你可以忽略有限的"身高"为了这个问题的目的形式。我以后可能会添加一些分页。

1 个答案:

答案 0 :(得分:2)

FlowLayoutPanel添加按钮控件。扩展FlowLayoutPanel以包括每页的项目,当前页面和实现分页的数据。

private void Form1_Load(object sender, EventArgs e)
{
    FlowLayoutPanel flp = new FlowLayoutPanel();
    for (int i = 0; i < pits.numOfPits(); ++i)
    {
        Button btn = new Button();
        btn.Width = 160;
        btn..Height = 80; //set padding or margin to appropriate values
        flp.Controls.Add(btn);
    }
    this.Controls.Add(flp);
}