日期:2014-05-19  浏览次数:20739 次

怎样获取控件引用
在一个WinForm   中有   10   Lable

有一个   string[]   str   =   new   string[10];

原来很笨的方法

        Lable0.Text   =   str[0];
        Lable1.Text   =   str[1];
        Lable2.Text   =   str[2];
        Lable3.Text   =   str[3];
        Lable4.Text   =   str[4];
        .....

请问有好的方法吗:
        for(int   i=0;   i <10;   i++)
      {
            ???.Text   =   str[i];
      }

谢谢!




------解决方案--------------------
建立一个ArraryList

ArrayList labels=new ArrayList();
labels.add (你的控件)

for(int i=0;i++;i <labels.Count)
{
((Label)labels[i]).Text=str[i];
}
------解决方案--------------------
private void button1_Click(object sender, EventArgs e)
{
for (int i = 1; i <= 10; i++)
{
Control[] vControls = Controls.Find(string.Format( "label{0} ", i), true);
if (vControls.Length > 0)
vControls[0].Text = string.Format( "Zswang 路过{0} ", i); //str[i];
}
}

------解决方案--------------------
直接用
Control vControl=Controls[string.Format( "label{0} ", i)];
if(vControl!=null)
{
vControl.Text=str[i];
}