编程新手。我正在为Windows上的《玫瑰周围的花瓣》游戏开发Windows窗体应用程序,尽管我们的指导老师向我们展示了如何在单击后更改单个图片框,但我想制作一个可以一次更改所有图片框的按钮/ “掷骰子”。
某些代码:
private void frmDisplay_Load(object sender, EventArgs e)
{
// Create list object to hold dice images
diceArray = new List<MyPictureBox>();
for (int i = 0; i < 5; i++)
{
MyPictureBox picBox = new MyPictureBox(i + 1);
picBox.Image = RandomDice.GetRandomDice();
picBox.Click += new System.EventHandler(pictureBox_Click);
this.Controls.Add(picBox);
this.Controls.Add(picBox.TheLabel);
}
}
上面的代码在加载表单时会创建5个图片框,并从我的RandomDice类中提取,如下:
class RandomDice
{
private static Random randomGen = new Random();
private static Image[] imgList = new Image[6];
public static Image GetRandomDice()
{
int i = 0;
ResourceSet rsrcSet = Properties.Resources.ResourceManager.GetResourceSet(CultureInfo.CurrentCulture, true, true);
foreach (DictionaryEntry entry in rsrcSet)
{
imgList[i] = (Image) entry.Value;
i++;
}
i = randomGen.Next(0, imgList.Length);
return imgList[i];
}
}
我为按钮单击设置了一个事件,但是我不确定如何进行操作,因此按钮可一次更改我所有的骰子图像。
有什么建议吗?
谢谢!
答案 0 :(得分:0)
您必须遍历数组。然后在for循环中更改图像。
/// <summary>Update the image list with random dice images.</summary>
public static void UpdateDices()
{
// Iterate through the image array.
for (var i = 0; i < imgList.Length; i++)
{
// Update the dice image.
imgList[i] = GetRandomDice();
}
}