首页 > 解决方案 > 适合区域大小的动态按钮

问题描述

我正在尝试创建一个具有 X 数量按钮的系统,例如 POS 系统。按钮的数量将根据用户输入的项目数量而有所不同。我的问题是我是否应该像下面这样动态创建它:

    private void createButton(int numOfBtn)
    {
        for (int i = 0; i < numOfBtn; i++)
        {

            Button btn = new Button();
            btn.Name = "button";       
            btn.Text = "button";
            btn.ForeColor = Color.White;
            btn.BackColor = Color.Green;
            btn.Font = new Font("Serif", 24, FontStyle.Bold);
            btn.Width = 170;
            btn.Height = 80;
            btn.TextAlign = ContentAlignment.MiddleCenter;
            btn.Margin = new Padding(5);              
        }
    }

应该像上面的代码一样在设计器上一个一个地创建按钮,或者是否有更好的方法?

另外,目前我在启动时将窗口设置为最大尺寸,所以当我创建按钮时,如何判断按钮的数量是否有最大空间(flowlayout)。

编辑:首先从设计师那里创建所有按钮并在之后为其分配值会更好吗?但是这样总是会有最大数量的按钮,假设我从设计师那里创建了 20 个按钮,我最多只能分配 20 个项目.. 完成这项任务的更好方法是什么?

标签: c#winforms

解决方案


推荐阅读