Как динамически номер этикетки

Это программа симуляции теннисного турнира. Я пытаюсь сделать дерево. Все работает отлично, но у меня большая проблема. Я не могу перейти к следующему этапу с победителями первых игр. Потому что я не могу изменить "целевой" ярлык, на котором я хочу написать имя победителя. Вот печать:

Так я генерирую победителей, которые переходят на следующий этап, и это действительно работает.~

Public Sub Gerar_Vencedor(Atleta1, Atleta2)
    Using con As New OleDb.OleDbConnection
        con.ConnectionString = "Provider = Microsoft.ACE.OLEDB.12.0;" &
                               "Data Source = E:\dev\Ganso\BaseDados_ClubeTenis.accdb"
        con.Close()
        con.Open()
        Dim busca = "Select Vencedor From Jogo Where idAtleta1 = '" & Atleta1 & "' and idAtleta2 = '" & Atleta2 & "'"
        Dim cmd As OleDbCommand = New OleDbCommand(busca, con)
        Dim dr As OleDbDataReader = cmd.ExecuteReader()
        ' A variável sql vai receber a string para fazer o select a base de dados
        'Try
        ' é aberta ligação a Bdados
        ' declaração de um comando que vai executar a instrução sql na base de dados
        ' variável que vai receber os registos resultantes da instrução sql
        ' ciclo que vai percorrer todos os registos do comando anterior
        While dr.Read()
            Label9.Text = dr("Vencedor")
        End While
        con.Close()
    End Using
End Sub

Моя проблема в том что Label9.Text = dr("Vencedor") потому что каждый раз, когда я получаю победителя, он идет на лейбл9. Мой последний вопрос: есть ли возможность динамически менять метку, не повторяя эту функцию снова и снова.

Благодарю.

1 ответ

Ты можешь попробовать

Dim i As Integer = 9
While dr.Read()

If i < 15

DirectCast(Me.Controls("Label" & i), Label).Text = dr("Vencedor")

Else

End If

i = i + 1

End While
Другие вопросы по тегам