winform编程form上有5个label
名字叫label1......label5
还有五pictureBox 名称pictureBox1...pictureBox5;
我想做个循环当对应label.text不空的时候对应的pictureBox上有图像
for(int i=1;i<6;i++)
{   if(this.Controls ["label"+i.ToString ()].text!="")//出现错误;
     pictureboxi.........(略)
}
        这个i怎么样去赋值??????
请教高手解答~

解决方案 »

  1.   

    for (int i=0;i<Controls.Count;i++)
    {
    if (Controls[i] is HtmlForm)
    {
    for (int j=0;j<Controls[i].Controls.Count;j++)
    {
    if (Controls[i].Controls[j] is TextBox)
    {
    ((TextBox)Controls[i].Controls[j]).Text = "test"+j;
    }
    if (Controls[i].Controls[j] is Label)
    {
    ((Label)Controls[i].Controls[j]).Text = "Label"+j;
    }
    }
    }
    }
      

  2.   

    for (int i=0;i<Controls.Count;i++)
    {
    if (Controls[i] is HtmlForm)
    {
    for(int j=1;j<6;j++)
    {
    Label lab = ((Label)Controls[i].FindControl("Label"+j));
    if (lab != null)
    {
    lab.Text = "This is Label"+j;
    }
    }
    }
    }
      

  3.   

    winform也是这么做吗?有点晕
    for (int i=0;i<Controls .Count ;i++)
    {
    if(Controls [i] is Form )
    {
    for(int j=1;j<6;j++)
    {
    Label lab=((Label)Controls [i].FindForm ("LabelName"+j));
    if(lab!=null)
    {
    lab.Text ="this is Label"+j;
    } }
    }
    }if(lab!=null)这个是什么意思.
    还有
    Label lab=((Label)Controls [i].FindForm ("LabelName"+j));运行出错
    该怎么解决那?
      

  4.   

    简单点也行.窗体上有5个label
    label1....label5
    for(int i=1;i<6;i++)
    {
    labeli.text=i.tostring();
    }
    这个label后面的i值怎么写?
      

  5.   

    if(this.Controls ["label"+i.ToString ()].text!="")//出现错误;是不是text没有大写第一个字母???这里按道理来将是不会有任何Exception的,除非就是没有找到你的控件
      

  6.   

    Text用大写了.
    系统提示
    “System.Windows.Forms.Control.ControlCollection.this[int]”最匹配的重载方法具有一些无效参数
    出现这个错误,应该怎么解决?
      

  7.   

    还有
    参数“1” : 无法从“string”转换为“int”
      

  8.   

    (this.Controls ["label"+i.ToString ()])[0].Text
      

  9.   

    tianzhenjing(冲刺2006msMVP) 没有效果.还是一样的错误提示
    for (int i=1;i<5;i++)
    {
    try
    {
    if(Controls ["labelName_"+i].Text  =="")
    {
    Controls ["pictureBox"+i.ToString ()].Image =Image .FromFile ("Images\\a.bmp");
    }
    }
    catch(Exception el)
    {
    MessageBox .Show (el.ToString ());
    }
    }
    应该怎么该才可以循环啊
      

  10.   

    int i=1;
    for (i=1;i<6;i++)
    {
    if (Controls[i].FindForm() == this)
    {
    if (Controls[i].Name == "Label1")
    {
    MessageBox.Show(Controls[i].Name);
    }
    }
    }
    这样可以找到!
      

  11.   

    thirdman(大肥猪)为什么我找不到
      

  12.   

    注意大小写!Label1  label1