[VB 6] Changer l'index d'une ListBox
Kaze_no_i-guru
Messages postés
63
Date d'inscription
Statut
Membre
Dernière intervention
-
Kaze_no_i-guru Messages postés 63 Date d'inscription Statut Membre Dernière intervention -
Kaze_no_i-guru Messages postés 63 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Mon problème est que j'essaie de changer par le code l'index d'une ListBox appartenant à un groupe de contrôles. J'ai essayé avec la propriété ".Index", avec ".NewIndex" mais dans tous les cas, j'ai ce message qui apparait :
"Can't assign to read-only property"
J'en déduis que je ne peux pas le modifier... quelqu'un saurait-il si je peux le modifier et si oui, comment ?
Merci d'avance
Mon problème est que j'essaie de changer par le code l'index d'une ListBox appartenant à un groupe de contrôles. J'ai essayé avec la propriété ".Index", avec ".NewIndex" mais dans tous les cas, j'ai ce message qui apparait :
"Can't assign to read-only property"
J'en déduis que je ne peux pas le modifier... quelqu'un saurait-il si je peux le modifier et si oui, comment ?
Merci d'avance
A voir également:
- Listbox index
- Index téléphonique - Guide
- Telecharger index - Télécharger - Gestion de fichiers
- Index rapport de stage - Guide
- No index col - Forum Excel
- Excel : résultat multiple avec une rechercheV ✓ - Forum Excel
4 réponses
Ce que je veux faire, c'est changer l'index de la liste
j'ai des contrôles : frame, labels, picturebox, etc qui sont tous des groupes de contrôles avec l'index 0
En dessous, j'ai ces mêmes contrôles avec l'index 1, et ainsi de suite.
Je veux pouvoir echanger les valeurs des contrôles (par exemple, mettre les valeurs des contrôles d'index 0 dans les contrôles d'index 1 et inversement). Ca j'y arrive sans problème.
Mon problème, c'est que je me sert de l'index pour l'ordre de mes contrôles : le 0 doit être en haut, le 1 juste en dessous, le 2 encore en dessous,...
Pour faire cela, je dois donc echanger les index également : le contrôle d'index 0 a maintenant l'index 0 et inversement.
Voilà, j'espère que j'ai été clair, n'hésitez pas à me poser des questions sur ce qui est encore flou dans mes explications, merci pour votre aide.
j'ai des contrôles : frame, labels, picturebox, etc qui sont tous des groupes de contrôles avec l'index 0
En dessous, j'ai ces mêmes contrôles avec l'index 1, et ainsi de suite.
Je veux pouvoir echanger les valeurs des contrôles (par exemple, mettre les valeurs des contrôles d'index 0 dans les contrôles d'index 1 et inversement). Ca j'y arrive sans problème.
Mon problème, c'est que je me sert de l'index pour l'ordre de mes contrôles : le 0 doit être en haut, le 1 juste en dessous, le 2 encore en dessous,...
Pour faire cela, je dois donc echanger les index également : le contrôle d'index 0 a maintenant l'index 0 et inversement.
Voilà, j'espère que j'ai été clair, n'hésitez pas à me poser des questions sur ce qui est encore flou dans mes explications, merci pour votre aide.
le message qui vous apparait indique que l'index d'un contrôle est en lecture seule . c'est à dire vous ne pouvez pas les modifier.
pour résoudre votre problème vous pouvez en servire d'une variable qui jout l'intermédière entre ces trois labels.je vais vous donné un exemple:
j'espère que j'ai bien compri votre problème
pour résoudre votre problème vous pouvez en servire d'une variable qui jout l'intermédière entre ces trois labels.je vais vous donné un exemple:
dim Var as string var=label(1) label(1) = label(0) label(0)=Var
j'espère que j'ai bien compri votre problème
Oui, c'est ce que j'ai fais (utiliser une variable) mais c'est un petit peu plus compliqué que ça.
Une fois que j'ai inversé les 2 lettres comme vous l'avez fait, j'ai donc : le label(0) avec la lettre "B" et le label(1) avec la lettre "A". De ce côté tout va bien.
Reste un problème (que j'ai oublié dans mon explication, désolé ^^).
Une ListBox est associée à chaque label, admettons qu'il s'agisse de personnes, l'une s'appelle "A", l'autre "B". Et la liste qui lui est associée comprend des informations sur la personne concernée.
Au départ, on a donc :
lblpers(0).Caption = "A" et Listpers(0) contient les informations de A
lblpers(1).Caption = "B" et Listpers(1) contient les informations de B
Après l'échange des 2 lettres, on a :
lblpers(0).Caption = "B" et Listpers(0) contient les informations de A
lblpers(1).Caption = "A" et Listpers(1) contient les informations de B
Les informations ne correspondent plus au label, et afin d'éviter d'échanger les valeurs des listes, il serait plus simple d'échanger leur index, ce qui donnerait :
lblpers(0).Caption = "B" et Listpers(0) contient les informations de B
lblpers(1).Caption = "B" et Listpers(1) contient les informations de A
Voilà le résultat que j'attends.
Merci encore pour vos précédentes et vos futures réponses ;)
Une fois que j'ai inversé les 2 lettres comme vous l'avez fait, j'ai donc : le label(0) avec la lettre "B" et le label(1) avec la lettre "A". De ce côté tout va bien.
Reste un problème (que j'ai oublié dans mon explication, désolé ^^).
Une ListBox est associée à chaque label, admettons qu'il s'agisse de personnes, l'une s'appelle "A", l'autre "B". Et la liste qui lui est associée comprend des informations sur la personne concernée.
Au départ, on a donc :
lblpers(0).Caption = "A" et Listpers(0) contient les informations de A
lblpers(1).Caption = "B" et Listpers(1) contient les informations de B
Après l'échange des 2 lettres, on a :
lblpers(0).Caption = "B" et Listpers(0) contient les informations de A
lblpers(1).Caption = "A" et Listpers(1) contient les informations de B
Les informations ne correspondent plus au label, et afin d'éviter d'échanger les valeurs des listes, il serait plus simple d'échanger leur index, ce qui donnerait :
lblpers(0).Caption = "B" et Listpers(0) contient les informations de B
lblpers(1).Caption = "B" et Listpers(1) contient les informations de A
Voilà le résultat que j'attends.
Merci encore pour vos précédentes et vos futures réponses ;)
salam je sius un nouveau et je veux savoire comment ce fait les code de vb6 et la traduction de lalgorithme en code vb6 svp je veux des reponce et des explication......
Salut, regarde déjà ça, je pense que ça devrait t'aider :
http://www.commentcamarche.net/faq/index.php3?cat=88
http://www.commentcamarche.net/faq/index.php3?cat=88
Admettons que j'ai 3 labels qui sont des groupes de contrôles. Ils ont donc l'index 0, 1 et 2.
Dans le .Caption de ces labels, j'ai respectivement "A", "B" et "C".
Maintenant, lorsque je clique sur un CommandButton par exemple, le "A" et le "B" s'inversent comme si je décidais que, à partir de maintenant, c'est le "B" la première lettre de l'alphabet.
Je me sers donc de l'index de mes contrôles pour dire laquelle est la première lettre, laquelle est la seconde, ...
Je veux que le "A", qui était à l'index 0, deviennent index 1 et que le "B" qui avait un index de 1 ait maintenant un index égal à 0. C'est à ce moment que j'ai un problème : je n'arrive pas à changer l'index...