Je développe actuellement une application dans laquelle je modifie des listes d'objets. Pour mon problème, voici à quoi ressemble ma classe Tracklist, que je modifie :
Ca me permet, quand j'ajoute mes objets Tracklist dans ma ListBox, d'avoir leur description. Quand je sélectionne un élément de cette ListBox, j'affiche la description dans une TextBox
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 class Tracklist { public string description; public override string ToString() { return description; } }
Quand on clic sur un bouton, j'enregistre cette description
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 void Lst_TracklistsSelectedIndexChanged(object sender, System.EventArgs e) { numTracklist = lst_Tracklists.SelectedIndex; // On charge les informations du morceaux dans la fenêtre Tracklist tracklist = lst_Tracklists.SelectedItem as Tracklist; txt_Description.Text = tracklist.description; }
Ca enregistre bien la description de l'objet, puisqu'en sélectionnant un autre élément de la liste, et en revenant sur le premier, la description est bien mise à jour. Mais l'intitulé dans la ListBox n'est pas mis à jour. Même un Refresh() ne fait rien.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Tracklist tracklist = lst_Tracklists.Items[lst_Tracklists.SelectedIndex] as Tracklist; tracklist.description = txt_Description.Text;
Si quelqu'un a une idée autre que de recharger totalement la listBox (ça, ça marche, mais ça peut être assez long).
Partager