我有一个用于随机化器的代码,该代码将随机图像放入2个图片框,但其中一个图片保持不变,并且不会改变。这是我的代码。
Dim Random As Integer
Dim Random2 As Integer
Random = CInt(Math.Ceiling(Rnd() * 6)) + 0
Random = CInt(Math.Ceiling(Rnd() * 6)) + 0
If Random = 1 Then
PictureBox1.Image = Image.FromFile("C:\Users\sahib\Desktop\another rounders -_-\another rounders -_-\bin\Dice Faces\Dice1.png")
ElseIf Random = 2 Then
PictureBox1.Image = Image.FromFile("C:\Users\sahib\Desktop\another rounders -_-\another rounders -_-\bin\Dice Faces\Dice2.png")
我最多执行了六个操作,然后又重新开始,但是这次使用Random2 As Integer和PictureBox2(不更改图像的一个)。我很困惑为什么会这样。
答案 0 :(得分:1)
大 EDIT 感谢@Jimi。
首先使用.net Random类。它更易于使用。 然后在解决方案资源管理器中,添加一个名为Images的新文件夹。然后右键单击并将图像添加到文件夹。您需要选择所有添加的文件,然后选择生成操作->其他文件,然后复制到输出目录->如果更新,则复制。
'Form level (class scope) can be seen by all methods
Private Dice As New List(Of String)
Private Rand As New Random
'Fill the Dice list just once in Form.Load
Private Sub Form3_Load(sender As Object, e As EventArgs) Handles MyBase.Load
For i = 1 To 6
Dice.Add($"Images\Dice{i}.png")
Next
End Sub
Private Sub RollDice()
PictureBox1.Image = Image.FromFile(Dice(Rand.Next(1, 7)))
PictureBox2.Image = Image.FromFile(Dice(Rand.Next(1, 7)))
End Sub