如何动态标注标签号

How to dynamically the label number

这是一个网球锦标赛模拟程序,我正在尝试制作一棵树。一切正常,但我有一个大问题。我无法与第一场比赛的获胜者一起进入下一阶段。因为我无法更改要写获奖者姓名的 "target" 标签。这是一个打印:

这就是我生成进入下一阶段的获胜者的方式,它确实有效。~

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") 因为每次我赢了,它都会转到 label9。 我的最后一个问题是:有没有动态改变标签而不用一遍又一遍地重复这个功能。

谢谢。

你能试试吗

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