[VB 6] Changer l'index d'une ListBox
Fermé
Kaze_no_i-guru
Messages postés
63
Date d'inscription
vendredi 25 février 2005
Statut
Membre
Dernière intervention
15 avril 2010
-
15 juil. 2005 à 16:05
Kaze_no_i-guru Messages postés 63 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 15 avril 2010 - 30 juil. 2005 à 22:41
Kaze_no_i-guru Messages postés 63 Date d'inscription vendredi 25 février 2005 Statut Membre Dernière intervention 15 avril 2010 - 30 juil. 2005 à 22:41
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:
- [VB 6] Changer l'index d'une ListBox
- Changer dns - Guide
- Changer clavier qwerty en azerty - Guide
- Changer carte graphique - Guide
- Vb cable - Télécharger - Audio & Musique
- Changer wifi chromecast - Guide
4 réponses
Kaze_no_i-guru
Messages postés
63
Date d'inscription
vendredi 25 février 2005
Statut
Membre
Dernière intervention
15 avril 2010
28
15 juil. 2005 à 17:08
15 juil. 2005 à 17:08
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.
RicHamilton
Messages postés
49
Date d'inscription
jeudi 10 mars 2005
Statut
Membre
Dernière intervention
18 juillet 2006
15 juil. 2005 à 16:50
15 juil. 2005 à 16:50
Salut toi!
Explique-nous ce ke tu as réellement l'intention de faire.
Merci
Explique-nous ce ke tu as réellement l'intention de faire.
Merci
med_ali
Messages postés
35
Date d'inscription
vendredi 30 juillet 2004
Statut
Membre
Dernière intervention
3 décembre 2007
7
19 juil. 2005 à 19:22
19 juil. 2005 à 19:22
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
Kaze_no_i-guru
Messages postés
63
Date d'inscription
vendredi 25 février 2005
Statut
Membre
Dernière intervention
15 avril 2010
28
24 juil. 2005 à 15:01
24 juil. 2005 à 15:01
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......
Kaze_no_i-guru
Messages postés
63
Date d'inscription
vendredi 25 février 2005
Statut
Membre
Dernière intervention
15 avril 2010
28
25 juil. 2005 à 13:19
25 juil. 2005 à 13:19
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
Kaze_no_i-guru
Messages postés
63
Date d'inscription
vendredi 25 février 2005
Statut
Membre
Dernière intervention
15 avril 2010
28
30 juil. 2005 à 22:41
30 juil. 2005 à 22:41
up
15 juil. 2005 à 20:40
19 juil. 2005 à 11:07
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...