TextBox文本不会更新

时间:2018-04-14 12:32:26

标签: c# .net

我动态创建TextBoxes,一个用于表中的每一列(DataGridView)。每次我在Table中选择一行时,文本框应该具有primaryKey行的值。第一次它工作,但之后TextBox文本没有改变。但是,如果我放置一个MessageBox来打印textbox.Text,它会正确打印,但不会显示它。当我使用未动态创建的文本框尝试相同的操作时,我没有遇到此问题。

for (int i = 0; i < columns_number; i++)
{

    textBoxes[i] = new TextBox();
    labels[i] = new Label();
    labels[i].Text = childTable.Columns[i].Name;

    labels[i].Location = new Point(x_point - 100, y_point);
    textBoxes[i].Location = new Point(x_point, y_point);

    this.Controls.Add(labels[i]);
    this.Controls.Add(textBoxes[i]);
    y_point = y_point + 30;
}

textBoxes[number].Text = selectedRow.Cells[vaterPrimaryKey].Value.ToString();

textBoxes[number].Refresh();

1 个答案:

答案 0 :(得分:0)

使用以下代码查找文本框并按照您希望的方式使用它们:

 string textboxName = "textboxes" + number.ToString
 TextBox mytextbox = this.Controls.Find(textboxName, true).FirstOrDefault() as TextBox;
 mytextbox.Text = selectedRow.Cells[vaterPrimaryKey].Value.ToString();