100個圖片框在我的屏幕上顯示了100張對應於100個菜餚的圖片。 我需要的是由100刷新100的圖像,但我得到以下錯誤就行的foreach(圖片框miPicture在this.Controls):在控件中分配多張圖片Picturebox
「」類型的未處理的異常發生 在Cheff2000.exe中
其他信息:無法投射類型爲 'System.Windows.Forms.Button'的對象類型'System.Windows.Forms.PictureBox'。
我的空虛是:
private void CapturaRecetasBtnFam() // SOLO Captura las primeras Recetas de la Fam cuando se hace Click en el BtnFam-n
{
BlanquearRec();
oListaFamRec = objFamRec.Listar();
var miFami = oListaFamRec.Find(DescFam => DescFam.Descripcion == NomFam);
// The cod captured the ongoing fam
string CodFam = oListaFamRec[miFami.Posicion - 1].Codigo;
oListaReceta = objRec.ListarPosicionEnFam();
var Result = from sigreceta in oListaReceta where sigreceta.Familia == CodFam select sigreceta;
// We assign text and images to objects (Button and PictureBox) of Recipes
ContRec1 = 1;
ContRec2 = 1;
foreach (Vi_Receta Rec in Result)
{
// Textos a los Button
nomBoton = "BtnRec" + Convert.ToString(ContRec1);
nomPicture = "PicRec" + Convert.ToString(ContRec2);
foreach (Control miObjeto in this.Controls)
{
if (miObjeto is Button && miObjeto.Name == nomBoton)
{
miObjeto.Text = Rec.Descripcion;
ContRec1++;
}
}
// PictureBox pictures
foreach (PictureBox miPicture in this.Controls)
{
if (miPicture.Name == nomPicture && miPicture.Name == nomPicture)
{
miPicture.Image = Rec.Foto == null ? null : ConvertByteArrayToImage(Rec.Foto);
}
}
}
}
這似乎是''this''中的'Controls'之一是一個按鈕,你需要檢查pictureboxes ...你有什麼研究? – Sayse
問題出在這裏:'foreach(在this.Controls中的PictureBox miPicture)'這枚舉了所有的控件,包括導致錯誤的按鈕。 – Mints97
謝謝大家的寶貴意見。 –