Vb.net 随机图像卡在一张图像上

Vb.net 随机图像卡在一张图像上,vb.net,picturebox,Vb.net,Picturebox,我有一个随机发生器的代码,它将一个随机图像放入两个图片框中,但其中一个框中的图片保持不变,不会改变。这是我的密码 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

我有一个随机发生器的代码,它将一个随机图像放入两个图片框中,但其中一个框中的图片保持不变,不会改变。这是我的密码

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作为整数和PictureBox2(不改变图像的那个)。我很困惑为什么会发生这种情况。

感谢@Jimi的大力编辑

首先使用.net随机类。它更容易使用。 然后在解决方案资源管理器中,添加一个名为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   

这有用吗?如果你打算使用
Rnd
,那么你应该调用
Randomize
,但你应该只做一次,链接答案没有规定这一点。这就是说,您应该使用VB.NET中的
Random
类,该类包含在该线程的答案中,但不是公认的答案。您没有显示足够的代码来诊断问题。请显示足够的内容,以便任何人都可以重新创建问题。
Random=CInt(数学天花板(Rnd()*6))+0
Random2=CInt(数学天花板(Rnd()*6))+0
Random
用于
PictureBox1
Random2
用于
PictureBox2
谢谢@Jimi。