Modifier une ligne d'un ListBox

Résolu
Priigame -  
 Priigame -
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
A voir également:

2 réponses

Utilisateur anonyme
 
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://docs.microsoft.com/fr-fr/dotnet/api/system.windows.forms.listbox.objectcollection?redirectedfrom=MSDN&view=netframework-4.8
0
Priigame
 
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.
0
Pinzou76 Messages postés 614 Date d'inscription   Statut Membre Dernière intervention   192
 
Bonjour,
Pas besoin d'insérer et supprimer, tu peux directement modifier ta string.
Une fois que tu as récupéré ta string, ajoute le préfixe devant à l'aide de l'opérateur + de cette manière:
stringContenu = stringPréfixe + stringContenu

Ou bien en écrivant directement le préfixe:
stringContenu = "Mon Préfixe" + stringContenu

Cela ajoutera le préfixe au début de la chaîne, avant le contenu.
0
Priigame
 
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
0
Pinzou76 Messages postés 614 Date d'inscription   Statut Membre Dernière intervention   192
 
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.
0
Priigame
 
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.
0
Pinzou76 Messages postés 614 Date d'inscription   Statut Membre Dernière intervention   192
 
Il me semble qu'en C# ce sont des crochets [ ] à la place des parenthèses pour spécifier l'index.
0