【问题标题】:Picturebox background image list errorsPicturebox背景图像列表错误
【发布时间】:2013-11-13 08:14:26
【问题描述】:

使用以下代码:

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,然后输入此代码 sn-p。但是,它没有检测到它们具有相同的背景图像并且让我感到悲伤。上面有什么不对吗?

【问题讨论】:

    标签: c# list picturebox


    【解决方案1】:

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

    循环之前:

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

    循环内部:

    catchcardArray[i] = new PictureBox;
    

    【讨论】:

    • 我改为按照您的建议从列表切换到数组,但是我没有为图片框数组初始化一个新的图片框,而是使用图像数组来检查卡片的背景图像,现在有用;每个不同的图像只显示一张卡片,即使 Form1.pbName 中存在多个 :) 谢谢!不知道为什么会修复它。
    • 我猜是因为你需要不同的数组索引来存储不同的图像。其他一些额外信息:iiteeeestudents.wordpress.com/2011/08/28/…
    猜你喜欢
    • 2012-05-23
    • 1970-01-01
    • 2012-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-06
    • 1970-01-01
    • 2022-07-21
    相关资源
    最近更新 更多