【发布时间】:2016-09-03 16:32:21
【问题描述】:
我想同时显示四个图像,并在表单加载时图像切换位置。目前,图像会以不同的数量出现,例如:将出现 1 张图像或 2 张图像,依此类推 4. 我还想确保不会出现重复。
Form1_Load 中的代码:
PictureBox[] boxes = new PictureBox[4];
boxes[0] = pictureBox0;
boxes[1] = pictureBox1;
boxes[2] = pictureBox2;
boxes[3] = pictureBox3;
for (int i = 0; i < boxes.Length; i++)
{
int switcher = r.Next(0, 5);
switch (switcher)
{
case 0:
{ boxes[i].Image = Properties.Resources.dog0; } break;
case 1:
{ boxes[i].Image = Properties.Resources.dog1; } break;
case 2:
{ boxes[i].Image = Properties.Resources.dog2; } break;
case 3:
{ boxes[i].Image = Properties.Resources.dog3; } break;
}
}
更新 - 工作
程序现在在加载时移动图像并且没有重复:)
List<Bitmap> resources = new List<Bitmap>();
resources.Add(Properties.Resources.dog0);
resources.Add(Properties.Resources.dog1);
resources.Add(Properties.Resources.dog2);
resources.Add(Properties.Resources.dog3);
resources = resources.OrderBy(a => Guid.NewGuid()).ToList();
for (int i = 0; i < resources.Count; i++)
{
pictureBox0.Image = resources[0];
pictureBox1.Image = resources[1];
pictureBox2.Image = resources[2];
pictureBox3.Image = resources[3];
}
上面给出的两个示例显示了它现在工作的情况。
【问题讨论】:
-
创建图像数组并随机播放。遍历该数组。 stackoverflow.com/a/26931594/4767498
-
再检查一个answer :)
-
更新中的 for 循环绝对没有必要。它只是将同一资源指向图片框四次。
标签: c# image loops picturebox shuffle