动态创建的标签和文本框不会覆盖

时间:2018-06-24 15:11:14

标签: c# winforms

当组合框更改时,我正在创建一些标签和文本框。我正在使用带有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变量是正确的,但在显示器中的位置却不正确。

0 个答案:

没有答案