我动态创建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();
答案 0 :(得分:0)
使用以下代码查找文本框并按照您希望的方式使用它们:
string textboxName = "textboxes" + number.ToString
TextBox mytextbox = this.Controls.Find(textboxName, true).FirstOrDefault() as TextBox;
mytextbox.Text = selectedRow.Cells[vaterPrimaryKey].Value.ToString();