我必须做一个记忆游戏。 MSDN已经有一个关于它的教程:https://msdn.microsoft.com/nl-nl/library/dd553235.aspx
但那有翅膀,我会用我自己的图像。 所以我的问题是:如何在标签中随机显示图像列表中的图像?
我已经尝试了不同的东西,但没有结果。这是我尝试制作图像列表的方法之一,但我不知道如何将它随机放置在TableLayoutPanel内的标签中。
答案 0 :(得分:0)
教程使用的图标是字符串。它们可以在标签控件中显示。但你的是图像。您可以考虑使用图片框控件。
答案 1 :(得分:0)
您可以替换
iconLabel.Text = icons[randomNumber];
带
iconLabel.Tag = randomNumber;
这会将每张卡的编号存储在Tag
属性中,这是一个多用途字段。
同时设置Label
的尺寸,然后关闭AutoSize
:
iconLabel.Size = yourImageList.ImageSize;
iconLabel.AutoSize = false;
在将图片加载到列表中之前,不要忘记将yourImageList.ImageSize
和yourImageList.ColorDepth
设置为您喜欢的值!
另外:隐藏它们时,不要将ForegroundColor
转为Black
,而是将Image
设置为null:
iconLabel.Image = null;
并在显示时使用存储号码的Tag
来检索图像:
iconLabel.Image = yourImageList.Images[(int)iconLabel.Tag];
您还可以在列表中添加一个额外的图像,该图像显示一个漂亮的图案作为每张卡片的背景,并将其设置为最初和隐藏时的图像..
为了使其大小变得灵活,您还可以将Labels
替换为Panels
并使用Panel.BackgroundImage
。然后,您可以将Panel
设置为任意大小,并选择例如BackgroundImageLayout = ImageLayout.Stretch