每次单击时清除一个动态控件,而是从列表中添加另一个字符串

Clear one dynamic control on each click and instead add another string from list

为什么我每次点击按钮都会得到相同的列表字符串元素?我会说,它应该每次都创建新的文本框吗? 在这种情况下,如何清除 only 此控件,并保留已在同一表单上创建的所有其他文本框,清除后应该从列表中添加另一个字符串?

int counter = 0;
private void btnOkreni_Click(object sender, EventArgs e)
{
            TextBox txt = new TextBox();
            txt.Text = izabrana[counter].Opis;
            Controls.Add(txt);
            txt.Show();
            counter++;
}

它现在可以工作了,但是你同意这是个好方法吗?(你可以阅读问题下的评论,以便更清楚地了解我正在尝试做的事情)

int brojacOkretanje = 0;
private void btnOkreni_Click(object sender, EventArgs e)
{
   if (brojacOkretanje == 0)
   {
          TextBox txt = new TextBox();
          txt.Name = "txtBoxOpis";
          txt.Text = izabrana[brojacOkretanje].Opis;
          Controls.Add(txt);
          txt.Location = new Point(41, 150);
          txt.Multiline = true;
          txt.Height = 82;
          txt.Width = 310;
          txt.Show();
    }
    else
    {
          TextBox txt = Controls.Find("txtBoxOpis", true).FirstOrDefault() as TextBox;
          txt.Text = izabrana[brojacOkretanje].Opis;
    }

      brojacOkretanje++;
}