当组合框更改时,我正在创建一些标签和文本框。我正在使用带有2列5行的tableFlowContainer。第一次更改所选内容时,此方法效果很好,但是如果我进行其他选择,则标签和文本框将不遵循指定的位置,而是以1个元素的增量插入。 {0,0}应该是{0,1},{0,1}应该是{1,0},依此类推。
有没有一种方法可以在重新书写之前清除所有标签和文本框? 这是我的代码。
private void cbPI_SelectedIndexChanged(object sender, EventArgs e)
{
//TextBox[] txtBox = new TextBox[5];
// Label[] lbls = new Label[5];
for (int x = 0; x <= 4; x++)
{
txtBoxs[x] = new TextBox();
this.txtBoxs[x].Text = "Text"+x;
this.txtBoxs[x].Name = "txtBoxName"+x;
this.txtBoxs[x].Anchor = System.Windows.Forms.AnchorStyles.Top;
this.Controls.Add(txtBoxs[x]);
lbls[x] = new Label();
this.lbls[x].Text = "label"+x;
this.lbls[x].Name = "lblBoxName1"+x;
this.lbls[x].Anchor = System.Windows.Forms.AnchorStyles.Right;
this.Controls.Add(lbls[x]);
tableLayoutPanel1.Controls.Add((lbls[x]), 0, x);
tableLayoutPanel1.Controls.Add(txtBoxs[(x)], 1, x);
}
}
通过破坏控件,x变量是正确的,但在显示器中的位置却不正确。