DirectCast sur élément ListBox
Bonjour à tous,
j'ai une ListBox dans laquelle j'insère des instances de cette classe :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| Public Class clsItem
Public Valeur As Integer
Public Texte As String
Public Sub New()
Valeur = 0
Texte = ""
End Sub
Public Sub New(ByVal NewValeur As Integer, ByVal NewTexte As String)
Valeur = NewValeur
Texte = NewTexte
End Sub
Public Overrides Function ToString() As String
Return Texte
End Function
End Class |
J'affiche la propriété "Texte" dans la ListBox, et pour récupérer la propriété "Valeur" quand je
clique sur un élément, j'utilise ce code :
Code:
1 2 3
| Dim a As New clsItem
a = DirectCast(Me.ListBox1.SelectedItem, clsItem)
MessageBox.Show(a.Valeur.ToString) |
Tout fonctionne très bien.
Mais je me suis rendu compte que si après la MessageBox j'insère par exemple :
ça me change la valeur de l'objet dans la ListBox.
Que faire pour obtenir une copie et non pas une "référence" de l'objet cliqué ?
Merci d'avance :-)