首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

遍历对象解决方案

2013-03-13 
遍历对象本来是这样的tbGroupName1.Text group[0].Split(new char[] {,})[1]tbGroupName2.Text gro

遍历对象
本来是这样的
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();
            }
        }

热点排行