Как я уверен, вы узнали, что оператор =
не определен для Image. Существует метод .Equals.
If PictureBox1.Image.Equals(Image.FromFile($"Picturebox{i}.jpg")) Then
Я использую интерполированную строку для имени файла.
Это не решит вашу проблему, потому что реализация equals по умолчанию означает 2 объекта указывая на тот же объект в памяти, что не так. Вы можете переопределить функцию Equals
, чтобы сравнивать размер и пиксель за пикселем, но, вероятно, есть более простой способ.
Отслеживайте, какое изображение отображается в переменной уровня класса.
Private ImageNumber As Integer
Затем увеличивайте ImageNumber каждый раз, когда пользователь нажимает кнопку NextImage до 8.
Private Sub NextImage_Click(sender As Object, e As EventArgs) Handles NextImage.Click
If ImageNumber = 8 Then
ImageNumber = 1
Else
ImageNumber += 1
End If
PictureBox1.Image = Image.FromFile($"Picturbox{ImageNumber}.jpg")
End Sub
Запуск всего процесса в событии загрузки формы.
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
PictureBox1.Image = Image.FromFile("Picturebox1.jpg")
ImageNumber = 1
End Sub