1

使用以下代码:

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,然后是这个代码片段。但是,它没有检测到它们具有相同的背景图像并且让我感到悲伤。上面有什么不正确的吗?

4

1 回答 1

1

可以尝试为一张卡片定义一个 PictureBox

循环前:

PictureBox[] catchcardArray = new PictureBox[Form1.pb.Name.Count];

循环内部:

catchcardArray[i] = new PictureBox;
于 2013-11-13T00:14:26.043 回答