遍历对象
本来是这样的
tbGroupName1.Text = group[0].Split(new char[] {','})[1];
tbGroupName2.Text = group[1].Split(new char[] {','})[1];
tbGroupName3.Text = group[2].Split(new char[] {','})[1];
但这样很麻烦,还没写完
我想这样
for(int i;i<group.Length,i++)
{
tbGroupName i .Text = group[0].Split(new char[] {','})[1];
}
红色区域是关键,怎么实现
我不想用数组的方式
[解决办法]
for(int i;i<group.Length,i++)
{
this.Controls["tbGroupName" + i].Text = group[0].Split(new char[] {','})[1];
}
//如果父容器不是窗体,则this替换成他们的父容器name就可以了
[解决办法]
TextBox tb=Controls["tbGroupName"+i] as TextBox;
[解决办法]
wpf是不是用child啊,不是controls啊
[解决办法]
用反射,
Type type1 = this.GetType();
for(int i = 0; i < 3; i++)
{
FieldInfo fieldInfo1 = type1.GetField("comboBox" + i);
object tb = fieldInfo1.GetValue(this);
FieldInfo fieldInfo2 = typeof(ComboBox).GetField("Text");
fieldInfo2.SetValue(tb,group[i].Split(new char[] {','})[1])
}
[解决办法]
void button1_Click(object sender, EventArgs e)
{
for (var i = 1; i < 4; i++)
{
(Interaction.CallByName(this, "textBox" + i, CallType.Get) as Control).Text = i.ToString();
}
}