我有一个问题,我最近无法解决。我有这个代码
foreach (Hashtable i in (ArrayList)inv["database"])
{
if (i != null)
{
if (i["type"].ToString() == "1")
{
if (i["dataValue"].ToString() != "0")
{
inv{nn}.Image = Program.Properties.Resources._i["type"].ToString()+"-"+i["dataValue"].ToString();
}
else
{
inv{nn}.Image = Program.Properties.Resources._i["type"].ToString()
}
}
}
nn++;
}
我有 36 个控件(这是我项目中的一个类,所以不是“香草”),每个控件都是一个“图片框”。我有 505 张图片,语法如下:如果数据值为 0,则为 {typeID}.png,如果数据值大于 0,则为 {typeID}-{dataValue}.png
因此,例如,如果它是第一个循环,i["type"].ToString() = 1 和 i["dataValue"].ToString() = 3,则 inv0 的图像更改为 Program.Proporties.Resources._1-3当第二个循环到来时,inv1 的图像会发生变化等......直到 inv35
这样的事情可能吗?我试过了
InterpolationBox x = Form1.FindControl("inv"+nn)
而且我似乎没有使用 System.Web.UI 的 FindControl (FrameWork 4) 之类的东西。
我试过了
InterpolationBox x = this.Controls.Find("inv" + nn, false);
而且我无法将“System.Windows.Forms.Control[]”类型的对象转换为“Program.InterpolatedBox”。无论如何,如果我摆脱了那个错误,我能改变那个实际的图片框,而不仅仅是复制的“x”吗?