Menu

Modifier une ligne d'un ListBox [Résolu]

- - Dernière réponse :  Priigame - 9 juil. 2018 à 11:25
Bonjour à tous,

Je souhaiterais savoir comment faire pour modifier la valeur d'une ligne d'un listbox.

De façon plus concrète, j'ai plusieurs chaines de caractère et je souhaite rajouter un préfix, j'arrive donc à sélectionner la ligne concerner par son index.
Mais je ne vois pas comment faire pour dire:
Préfix + Contenu actuel.

Merci de vos réponses :D
Afficher la suite 

2 réponses

Messages postés
13450
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
24 juin 2019
347
0
Merci
Bonjour

si ta liste est bindée sur une source de données (ce qui est souhaitable, puisque C# est axé MVC https://fr.wikipedia.org/wiki/Mod%C3%A8le-vue-contr%C3%B4leur ) alors c'est la source de données qu'il faut modifier.

Mais vu comment ta question est posée, je suppose que non.
Donc tu insères à l'index n+1 et tu supprimes l'enregistrement à l'index n.

Voir les méthodes Insert et RemoveAt de Items
https://msdn.microsoft.com/fr-fr/library/system.windows.forms.listbox.objectcollection(v=vs.110).aspx
Commenter la réponse de Whismeril
0
Merci
Bonjour Whismeril,

C'est une petite listbox, et j'avoue ne pas être à l'aise en programmation...
Donc le seul moyen serait donc de récupérer l'index, insérer la nouvelle ligne et supprimer la ligne l'ancienne ?
Dans ce cas, c'est possible de récupérer le contenu de l'enregistrement dans un string temporaire ? J'ai effectuer quelque test pas très fructueux :/

En tout cas merci de ta réponse.
Bonjour,
Le problème c'est qu'actuellement le contenu est dans une listbox et que je n'arrive pas à le récupérer pour le mettre dans un String.
En faisant cela, il me faudrait également une solution pour faire un replace Index en gros, afin d'actualiser mon enregistrement à tel Index.
Merci de ta réponse
Pinzou76
Messages postés
727
Date d'inscription
dimanche 17 septembre 2017
Statut
Membre
Dernière intervention
25 février 2019
63 -
Je ne connais pas la syntaxe exacte en C#, mais en VB.NET (très similaire au C#), la syntaxe serait la suivante:

maListe.Items(monIndex) = "monPréfixe" + maListe.Items(monIndex)

Attention, si le contenu de maListe à l'index monIndex n'est pas une string, ça entraînera un message d'erreur.
Merci de ta réponse, je vais essayer de trouver la bonne syntaxe.
En gardant exactement la même, Items est souligner avec pour message "Impossible d'utiliser un membre "ListBox.Items" ne pouvant pas être appelé comme une méthode.
Pinzou76
Messages postés
727
Date d'inscription
dimanche 17 septembre 2017
Statut
Membre
Dernière intervention
25 février 2019
63 -
Il me semble qu'en C# ce sont des crochets [ ] à la place des parenthèses pour spécifier l'index.
Commenter la réponse de Priigame