如何在标签中随机显示图像列表中的图像

时间:2016-06-18 08:33:14

标签: c#

我必须做一个记忆游戏。 MSDN已经有一个关于它的教程:https://msdn.microsoft.com/nl-nl/library/dd553235.aspx

但那有翅膀,我会用我自己的图像。 所以我的问题是:如何在标签中随机显示图像列表中的图像?

我已经尝试了不同的东西,但没有结果。这是我尝试制作图像列表的方法之一,但我不知道如何将它随机放置在TableLayoutPanel内的标签中。

enter image description here

2 个答案:

答案 0 :(得分:0)

教程使用的图标是字符串。它们可以在标签控件中显示。但你的是图像。您可以考虑使用图片框控件。

答案 1 :(得分:0)

您可以替换

 iconLabel.Text = icons[randomNumber];

 iconLabel.Tag = randomNumber;

这会将每张卡的编号存储在Tag属性中,这是一个多用途字段。

同时设置Label的尺寸,然后关闭AutoSize

iconLabel.Size = yourImageList.ImageSize;
iconLabel.AutoSize = false;

在将图片加载到列表中之前,不要忘记将yourImageList.ImageSizeyourImageList.ColorDepth设置为您喜欢的值!

另外:隐藏它们时,不要将ForegroundColor转为Black,而是将Image设置为null:

iconLabel.Image = null;

并在显示时使用存储号码的Tag来检索图像:

iconLabel.Image = yourImageList.Images[(int)iconLabel.Tag];

您还可以在列表中添加一个额外的图像,该图像显示一个漂亮的图案作为每张卡片的背景,并将其设置为最初和隐藏时的图像..

为了使其大小变得灵活,您还可以将Labels替换为Panels并使用Panel.BackgroundImage。然后,您可以将Panel设置为任意大小,并选择例如BackgroundImageLayout = ImageLayout.Stretch