使用以下代码:
for (int i = 0; i < Form1.pbName.Count; i++)
{
PictureBox catchcard = new PictureBox();
catchcard.BackgroundImage = Form1.pbName[i].BackgroundImage;
catchcard.BackgroundImageLayout = Form1.pbName[i].BackgroundImageLayout;
catchcard.Name = Form1.pbName[i].Name;
catchcard.Size = new Size(50, 50);
if (!imagelist.Contains(catchcard.BackgroundImage))
{
images.Controls.Add(catchcard);
imagelist.Add(catchcard.BackgroundImage);
}
}
我无法确定之前是否已经遇到过某个背景图片。即使我提供了几张完全相同的图片框背景图片,该检查也会显示为假。
我给它一个名为pbName的卡片阵列,它保存代表卡片中所有卡片的所有图片盒,然后执行检查。在代码的另一个区域,我声明了两个具有完全相同背景图像的图片框,并将它们提供给pbName,然后是这段代码片段。但是,它没有检测到它们具有相同的背景图像并且让我感到悲伤。有什么不正确吗?
答案 0 :(得分:1)
可能会尝试为一张卡定义一个PictureBox
循环之前:
PictureBox[] catchcardArray = new PictureBox[Form1.pb.Name.Count];
循环内部:
catchcardArray[i] = new PictureBox;