Случайное изображение застряло на одном изображении - PullRequest
0 голосов
/ 11 декабря 2018

У меня есть код для рандомизатора, который помещает случайное изображение в 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 (тот, который не меняет изображение).Я очень смущен, почему это происходит.

1 Ответ

0 голосов
/ 11 декабря 2018

Большой РЕДАКТИРОВАТЬ благодаря @ 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   
...