Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 连接字符串以生成Picturebox名称_C#_String - Fatal编程技术网

C# 连接字符串以生成Picturebox名称

C# 连接字符串以生成Picturebox名称,c#,string,C#,String,我有很多这样命名的图片盒:PBr1_1,PBr1_2。。。PBr1_9 我想做一个循环 for (int i = 0; i < 10; i++) { if (Textbox.Text[i].ToString() == "1"){ "PBr1_"+"i".Tag = "cb.png";} } for(int i=0;iPBr1\u0,i=10=>PBr1\u10. 示例我在文本框中有值:0001011101-然后如果文

我有很多这样命名的图片盒:PBr1_1,PBr1_2。。。PBr1_9

我想做一个循环

        for (int i = 0; i < 10; i++)
        {
            if (Textbox.Text[i].ToString() == "1"){ "PBr1_"+"i".Tag = "cb.png";}
        }
for(int i=0;i<10;i++)
{
if(Textbox.Text[i].ToString()=“1”){“PBr1”+“i”.Tag=“cb.png”;}
}
所以对于i=0=>PBr1\u0,i=10=>PBr1\u10.

示例我在文本框中有值:0001011101-然后如果文本框中的值为“1”,那么我想更改picturebox标记


如何自动化此过程,例如使用循环“for”

您可以将图片框放入
列表中,并在列表中迭代

var pictures = new List<PictureBox>();
pictures.Add(pic1);
pictures.Add(pic2);
//...


for (int i = 0; i < 10; i++)
{
     if (Textbox.Text[i].ToString() == "1") 
          pictures[i].Tag = "cb.png";
}
var图片=新列表();
图片。添加(pic1);
图片。添加(pic2);
//...
对于(int i=0;i<10;i++)
{
if(Textbox.Text[i].ToString()=“1”)
图片[i].Tag=“cb.png”;
}
不支持示例中的动态变量名。

创建一个包含图片框的数组(或列表),并在for循环中使用这些图片框


您也可以使用反射,但在我看来,最好不要在这种情况下使用反射。

如果您使用的是
WinForm
,您可以使用方法按名称定位控件


一旦你有了这个控件,你就可以很容易地更改任何属性了。我想你的控件是在WinForm(这个)上的,那些同名的都是pictureboxes。
如果是这样的话,就是这样----

for(int i=0;i<10;i++)
{ 
if(Textbox.Text[i].ToString()=“1”)
{
Control[]c=this.Controls.Find(“PBr1_”+i.ToString(),true);
如果(c!=null&&c.Length>0)c[0].Tag=“cb.png”;
}
} 

Find返回控件数组
for (int i = 0; i < 10; i++) 
{ 
    if (Textbox.Text[i].ToString() == "1")
    {
        Control[] c = this.Controls.Find("PBr1_" + i.ToString(), true);
        if(c != null && c.Length > 0) c[0].Tag = "cb.png";
    }
}