如何在c#中显示通过编码制作的标签或文本框

时间:2014-06-19 13:56:34

标签: c# arrays textbox

让我解释一下我的计划将如何:

1.我有一个文本框1,用户将输入一个数字 2.我有一个button1,它会将textbox1中的数字存储到int Max

这是编码

    private void button1_Click(object sender, EventArgs e)
    {
        Max = int.Parse(textBox1.Text);
        fun = new TextBox[Max];
        for (int i = 0; i < Max; i++)
        {
            if (i > 0)
            {
                y = y + 26;
            }
            fun[i] = new TextBox();
            fun[i].Location = new System.Drawing.Point(44, y);
            fun[i].Text = "Test";
        }
    }

现在唯一的问题是它根本不会出现,因为我不知道要在表单上显示什么代码。

2 个答案:

答案 0 :(得分:1)

您需要使用TextBox方法在表单上添加fun[i]控件Controls.Add()(在运行时创建)。

试试这个:

this.Controls.Add(fun[i]);

完整代码:

private void button1_Click(object sender, EventArgs e)
    {
        Max = int.Parse(textBox1.Text);
        fun = new TextBox[Max];
        for (int i = 0; i < Max; i++)
        {
            if (i > 0)
            {
                y = y + 26;
            }
            fun[i] = new TextBox();
            fun[i].Location = new System.Drawing.Point(44, y);
            fun[i].Text = "Test";
            this.Controls.Add(fun[i]);
        }
    }

答案 1 :(得分:1)

如果我理解正确,你想动态创建控件并在表单中显示它?看起来您的代码没问题,您需要将控件添加到表单以在表单中显示它。这段代码可以帮到你。

int y = 26;
var Max = int.Parse(textBox1.Text);
var fun = new TextBox[Max];
for (int i = 0; i < Max; i++)
{
    if (i > 0)
    {
        y += 26;
    }
    fun[i] = new TextBox();
    fun[i].Location = new System.Drawing.Point(44, y);
    fun[i].Text = "Test";

    Controls.Add(fun[i]);
}