Estoy haciendo un sistema de favoritos que tira de la base de datos favoritos. En dicha bbdd tengo un id_favoritos. Entonces si salen por ejemplo 16 resgistros he de pintar 16 labels 16 imagenes de quitar fav y 16 imagenes de abrir fav y eso ya lo tengo hecho así:
While r.Read()
nombre_cliente = r(1).ToString()
nombre_proyecto = r(2).ToString()
'MsgBox(nombre_proyecto)
labelFavorito = New System.Windows.Forms.Label
labelFavorito.Text = (nombre_cliente)
labelFavorito.Location = New System.Drawing.Point(x, y)
labelFavorito.Size = New System.Drawing.Size(150, 13)
labelFavorito.ForeColor = Color.Black
labelFavorito.BackColor = Color.Transparent
labelFavorito.Visible = True
labelFavorito2 = New System.Windows.Forms.Label
labelFavorito2.Text = nombre_proyecto
labelFavorito2.Location = New System.Drawing.Point(x, yDOS)
labelFavorito2.Size = New System.Drawing.Size(150, 13)
labelFavorito2.ForeColor = Color.Black
labelFavorito2.BackColor = Color.Transparent
labelFavorito2.Visible = True
Static valor As Integer
quitarFav = New System.Windows.Forms.PictureBox
quitarFav.Image = My.Resources.minimizar
quitarFav.Name = r(0).ToString()
quitarFav.Location = New System.Drawing.Point(xImagen1, y)
quitarFav.Size = New System.Drawing.Size(23, 23)
quitarFav.Visible = True
quitarFav.Tag = valor
AddHandler quitarFav.Click, AddressOf borrarFav
valor += 1
arrancarFav = New System.Windows.Forms.PictureBox
arrancarFav.Image = My.Resources._3
arrancarFav.Location = New System.Drawing.Point(xImagen2, y)
arrancarFav.Size = New System.Drawing.Size(23, 23)
arrancarFav.Visible = True
Me.Controls.Add(labelFavorito)
Me.Controls.Add(labelFavorito2)
Me.Controls.Add(quitarFav)
Me.Controls.Add(arrancarFav)
y = y + 35
yDOS = yDOS + 35
i = i + 1
End While
Como veis quitarFav le voy asignando el id_favorito por vuelta de esta forma cuando le haga click hacer un delete de dicho id. Pero cuando hago una prueba a ver que id tiene siempre me sale el último ID del ultimo registro en mi caso que es el registro 36.
Le hice un punto de corte y fui vuelta a vuelta viendo que hace entonces el ID lo asigna bien pero cuando tiene uqe pintar el componente osea se aqui:
Me.Controls.Add(quitarFav)
No lo pinta y espera a la ultima vuelta para pintar todos de golpe, de esta forma siempre asigna el mismo ida todos
¿Alguna solución para arreglar esto?