Так что я пытаюсь написать MasterMind игру, но у меня есть проблемаКак вызвать объект на основе переменной в Visual Studio?
У меня есть 40 PictureBoxes набор в 10 различных строк, и я хочу, чтобы иметь один код обрабатывать все 10 строк, а не копировать и вставлять кода и изменения имен изображений. Я пытался использовать переменную для достижения этого, но если это возможно, то я не знаю, как правильно это сделать.
Это то, что я прямо сейчас:
Dim X As Integer
Dim Y As Integer
Private Sub ButtonCheck_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonCheck.Click
If HighlightRow1 = True Then
X = 1
Y = 2
Check1()
ElseIf HighlightRow2 = True Then
X = 4
Y = 5
Check1()
...
EndIf
End Sub
Private Sub Check1()
If PictureBox(X).Tag = "Red" //'Getting this error: Class 'System.Windows.Forms.PictureBox' cannot be indexed because it has no default property.
blah blah blah
ElseIf PictureBox(X).Tag = "Green" Then
blah blah blah
...
EndIf
If Picturebox(Y).Tag = "Red" Then
blah blah blah
...
End If
Есть ли способ сделать это? Я новичок в программировании, поэтому мне очень жаль, если это очень простой вопрос.
Для чего это стоит 'Если HighlightRow1 = true' является избыточным и функционально эквивалентны более емким' Если HighlightRow1' – JohnFx
вы используете * класс * имя где требуется ссылка * object *. Лучше всего изучить объектно-ориентированное программирование из книги или школы, проб и ошибок будет много ошибок, если у вас возникнут проблемы с основами. Использование 40 контролей вместо 1 - это еще один такой вид проб. –
Что вы хотите достичь с помощью этого массивного массива PictureBox? –