簡體   English   中英

動態創建的標簽和文本框

[英]Dynamically Created Label and Textbox

僅生成1個文本框字段和標簽。 我的計划是在1個面板中僅生成4個字段

private void btnAdd_Click(object sender, EventArgs e)
{
    Label label = new Label();
    int count = panel1.Controls.OfType<Label>().ToList().Count;
    label.Location = new Point(10, (25 * count) + 2);
    label.Size = new Size(40, 20);
    label.Top = 4;
    label.ForeColor = System.Drawing.Color.White;
    label.Name = "label_" + (count + 1);
    label.Text = "Field " + (count + 1);
    panel3.Controls.Add(label);

    TextBox textbox = new TextBox();
    count = panel1.Controls.OfType<TextBox>().ToList().Count;
    textbox.Location = new Point(60, 25 * count);
    textbox.Top = 4;
    textbox.Size = new Size(301, 20);
    textbox.Name = "textbox_" + (count + 1);
    textbox.TextChanged += new System.EventHandler(this.TextBox_Changed);
    panel3.Controls.Add(textbox);
}

您可以使用for循環同時添加多個文本框和標簽,並且必須刪除文本框textbox.Top = 4; 因為您的覆蓋label.Location = new Point(10, (25 * count) + 2); 並且所有控件的位置相同。

private void btnAdd_Click(object sender, EventArgs e)
{
    for (int count = 0;count < 4; count++)
    {
        Label label = new Label();
        label.Location = new Point(10, (25 * count) + 2);
        label.Size = new Size(40, 20);
        label.ForeColor = System.Drawing.Color.White;
        label.Name = "label_" + (count + 1);
        label.Text = "Field " + (count + 1);
        panel3.Controls.Add(label);

        TextBox textbox = new TextBox();
        textbox.Location = new Point(60, 25 * count);
        textbox.Size = new Size(301, 20);
        textbox.Name = "textbox_" + (count + 1);
        textbox.TextChanged += new System.EventHandler(this.TextBox_Changed);
        panel3.Controls.Add(textbox);
    }        
}

如果要在每次單擊中添加一個文本框和標簽,則可以聲明一個字段int count ,它計算創建的控件對的數量:

int count = 0;
private void button1_Click(object sender, EventArgs e)
{
        Label label = new Label();
        label.Location = new Point(10, (25 * count) + 2);
        label.Size = new Size(40, 20);
        label.ForeColor = System.Drawing.Color.White;
        label.Name = "label_" + (count + 1);
        label.Text = "Field " + (count + 1);
        panel3.Controls.Add(label);

        TextBox textbox = new TextBox();
        textbox.Location = new Point(60, 25 * count);
        textbox.Size = new Size(301, 20);
        textbox.Name = "textbox_" + (count + 1);
        textbox.TextChanged += new System.EventHandler(this.TextBox_Changed);
        panel3.Controls.Add(textbox);
        count++;
} 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM