for (int y = 0; y < 89; y++)
{
"Box"+y.Text = "somthing";
}
答案 0 :(得分:2)
使用String
时,您正在创建新的"Box"
对象。我建议将所有TextBox
个对象放入列表中。
List<TextBox> boxes = new List<TextBox>();
// Add all of your text boxes.
foreach (TextBox box in boxes) {
box.Text = "This will change the text";
}
答案 1 :(得分:2)
您可以检查表单上控件的Type
,如果Type
是TextBox
,那么只需调整测试(VIA循环)。
代码段;
public Form1()
{
InitializeComponent();
ChangeTextBoxes();
}
public void ChangeTextBoxes()
{
foreach (var c in this.Controls.OfType<TextBox>())
{
c.Text = @"New Value";
}
}
希望这有帮助。
答案 2 :(得分:0)
如果您在View(客户端使用Javascript)中进行此更改,请使用“eval()”函数。
类似的东西:
eval('Box' + count + '.Text = "'+newText+'";');
答案 3 :(得分:0)
如果以编程方式创建文本框,则可以将其Text
属性绑定到DataTable
,这样可以提供一些很好的可维护性功能:
DataTable _tbValues;
private void Form1_Load(object sender, EventArgs e)
{
_tbValues = new DataTable();
string[] cells = new string[89];
for (int i = 0; i < 89; i++)
{
_tbValues.Columns.Add(String.Format("Box{0}", i));
var tb = new TextBox();
tb.Name = String.Format("Box{0}", i);
tb.DataBindings.Add("Text", _tbValues, String.Format("{0}", tb.Name));
tb.Top = i * 20;
this.Controls.Add(tb);
}
_tbValues.Rows.Add(cells);
}
private void button1_Click(object sender, EventArgs e)
{
_tbValues.Rows[0].ItemArray = Enumerable
.Repeat(DateTime.Now as object, _tbValues.Columns.Count)
.ToArray();
_tbValues.AcceptChanges();
}