[英]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.