动态创建文本框数组并标记winforms

时间:2012-06-22 13:43:09

标签: c# winforms

我需要动态创建一个标签和文本框数组。

我有一个groupBox,我需要将上面的内容添加到其中。 然后正确对齐的最佳方法是什么?你是如何得到这个位置的?

以下无效

    public void TestCreateInputLabelAndTextBox()
    {

        foreach (Parameter parameter in Params)
        {
            var lbl = new Label();
            lbl.Name = "lbl" + parameter.Name;
            lbl.Text = parameter.Name;
            lbl.AutoSize = true;
            lbl.Location = new Point(7, 30);
            lbl.Name = "label1";
            lbl.Size = new Size(35, 13);


            var txtBox = new TextBox();
            txtBox.Name = "txt" + parameter.Name;
            txtBox.Text = parameter.Name;
            txtBox.Location = new Point(20, 20);
            txtBox.Location = new Point(49, 22);
            txtBox.Size = new Size(100, 20);


            groupBox1.Controls.Add(lbl);
            groupBox1.Controls.Add(txtBox);
        }

    }

你是怎么做到的?

2 个答案:

答案 0 :(得分:2)

你必须制作一个文本框和标签数组 例如:

TextBox[] txt= new TextBox[10];
for (int i = 0; i <=10; i++) {
    txt(i) = new TextBox();
    txt(i).Text = i.Tostring();
    if (i > 0) {
        txt(i).Left = txt(i - 1).Right;
    }

    this.Controls.Add(txt(i));
}

答案 1 :(得分:0)

除了上面的评论之外,我还使用了tablePanelLayout。

对不起,我的问题似乎并不清楚。 我试着尽可能地简洁,因为我相信你说的越多,你就越会混淆那些可能帮助你的人。

我需要的只是一些指针。使用tablePanellayout解决了我的问题。 感谢您的意见