У меня есть этот код для проекта puzzle8:Какой лучший способ сделать мой проект puzzel 8 лучше?
Private Sub Button10_Click(sender As System.Object, e As System.EventArgs) Handles Button10.Click
Dim indexrand As Integer
Dim pos As Integer
Dim m As Integer
Dim j As Integer
For j = 0 To 100
pos = 0
indexrand = R.Next(0, 9)
For i = indexrand To 8
array.Insert(0, array(i + pos))
pos += 1
Next
m = 9 - indexrand
Do While m > 0
array.RemoveAt(array.Count - 1)
m -= 1
Loop
Next
Я сделал петлю, чтобы перетасовать их, и она работала отлично. Тогда я хотел, чтобы дать каждой кнопке значение, так что я сделал это:
Button1.Text = array(0)
Button2.Text = array(1)
Button3.Text = array(2)
Button4.Text = array(3)
Button5.Text = array(4)
Button6.Text = array(5)
Button7.Text = array(6)
Button8.Text = array(7)
Button9.Text = array(8)`
Однако, у меня есть проблема здесь, так как значение 9 не превратится в «», так что я сделал это:
If Button1.Text = 9 Then
Button1.Text = ""
ElseIf Button2.Text = 9 Then
Button2.Text = ""
ElseIf Button3.Text = 9 Then
Button3.Text = ""
ElseIf Button4.Text = 9 Then
Button4.Text = ""
ElseIf Button5.Text = 9 Then
Button5.Text = ""
ElseIf Button6.Text = 9 Then
Button6.Text = ""
ElseIf Button7.Text = 9 Then
Button7.Text = ""
ElseIf Button8.Text = 9 Then
Button8.Text = ""
ElseIf Button9.Text = 9 Then
Button9.Text = ""
End If `
Это действительно работает. Тем не менее, моя проблема заключается в том, что это много заявлений If
. Есть ли способ сделать это без ввода всех этих ifs?
Вы можете прокручивать все кнопки в своих формах с помощью 'Для каждого ctrl как Control In controls'. Затем проверьте, если 'TypeOf ctrl Is Button'. Тогда вам просто нужно сделать свой код. – nbadaud
@nbadaud Это приятное предложение, но вы должны расшириться дальше, так как этот код запускается кнопкой, которая не должна изменяться. –
извините, как я уже говорил, прежде чем я новичок в vb.net, поэтому то, что вы пытаетесь сказать мне, не так понятно.! в любом случае спасибо за ответ. – Kamal