gpt4 book ai didi

c# - 动态创建控件

转载 作者:太空狗 更新时间:2023-10-29 21:30:36 28 4
gpt4 key购买 nike

我想知道这在 c# winform 中是否可行。

在按下按钮时创建控件并将其放置在给定位置。

我觉得可以这样

private TextBox txtBox = new TextBox();
private Button btnAdd = new Button();
private ListBox lstBox = new ListBox();
private CheckBox chkBox = new CheckBox();
private Label lblCount = new Label();

但问题在于按下按钮时会创建相同名称的控件。如何避免这种情况

什么哒.......我写了并且没有异常(exception)我期待它,因为控件已经包含 btnAdd 而不是尽可能多的按钮创建你想要的。访问它们会出现问题,但可以通过 @drachenstern 方法解决,对吗?

  private void button1_Click_1(object sender, EventArgs e)
{
Button btnAdd = new Button();

btnAdd.BackColor = Color.Gray;
btnAdd.Text = "Add";
btnAdd.Location = new System.Drawing.Point(90, 25+i);
btnAdd.Size = new System.Drawing.Size(50, 25);
this.Controls.Add(btnAdd);
i = i + 10;
}

最佳答案

int currentNamingNumber = 0;

txtBox.Name = "txtBox" + currentNamingNumber++;

冲洗,重复。

给每个元素一个唯一的数字名称,允许你找出有多少元素被创建(注意你不想递减来跟踪所有创建的对象,因为那样你可能会创建两个具有相同名称的元素) .

我不认为你可以将你想要的名称传递给新函数,但你总是可以在创建它之后设置名称。

关于c# - 动态创建控件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4719476/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com