ListIndex <> -1 ?????

hqv0 Messages postés 54 Date d'inscription samedi 22 novembre 2003 Statut Membre Dernière intervention 12 juin 2004 - 16 mars 2004 à 18:44
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 16 mars 2004 à 22:32
Bonjour,
Comme d'habitude je suis encore perdue par un probleme qui doit etre simple pour vous ,Mais, qui pour moi, vient de me prendre toute l'apres midi !!!

Mon probleme
J'ai une listbox1 de 24 items de base qui se complete automatiquement de 140 autre items qui rentre 1 à 1 (venant d'une autre liste) grace à un timer - jusque la pas de de probleme tous ce passe comme je le souhaite - mais dans la lisbox1 qui prend un item de + tous les 10 minutes je ne voudrais pas que le dernier item rentré soit selectionnè (en couleur) car j'utilise un autre item .

Pour le moment j'utilise la ligne Listbox1.selected(5) = True (par exemple) je vois l'item utilisé en foncé (genial) mais si ensuite je fais lisbox1.selected(5)= False et je continue par listbox1.selected(18) = true je me retrouve avec trois item à l'ecran en selectionné -celui rentré en dernier- celui utilisé en avant dernier et le suivant utilisé, pour que la deselection intervienne il faut qu'un nouvel item rentre dans la liste. !!! et cela ne me convient pas Par contre l'utilisation des item par vb est bonne pas l'affichage à l'ecran

Dans un bouquin sur VB il dise "...on peut tester si .ListIndex <> -1 pour savoir s'il y a un élément sélectionné (au lieu de .selected(index)).... " bon tres !!! mais je comprend pas comment je peux faire pour : 1 utiliser cette syntaxe et 2 eteindre mes items selectionnés

Donc comment faire pour ne voir que l'tem en utilisation de selectionné ???

A l'aide -- je commence a me ronger les ongles (ils sont beaux pourtant) --

Vite vite une indication, je suis là et je crac.

bisoux @+

4 réponses

cs_lucio57 Messages postés 146 Date d'inscription lundi 10 février 2003 Statut Membre Dernière intervention 25 juillet 2007 2
16 mars 2004 à 18:50
Listindex correspond à l'élément que tu à sélectionné dans le listbox. Le premier élément est 0 le dernier sur une liste de 10 éléments est 9. Si ton focus est placé en dehors du list et que tu lui demande qu'elle élément est sélectionné il te donne -1

donc le code doit etre qqchose comme (enfin sur le principe)

if list1.listindex<> -1 then
msgbox list1.listindex
else
msgbox "Vous devez sélectionner un élément de la liste
en dif
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
16 mars 2004 à 18:54
Salut hqv0
De plus, si tu ne veux pas que l'on puisse sélectionner plusieurs items, passe la propriété MultiSelect à 0 --> une nouvelle sélection effacera la précédente automatiquement.

Vala
Jack
0
hqv0 Messages postés 54 Date d'inscription samedi 22 novembre 2003 Statut Membre Dernière intervention 12 juin 2004
16 mars 2004 à 19:37
' lucio57 ' merci pour ton indication c'est plus clair avec toi qu'avec ce foutu bouquin achetè sur une foire à tout
je comprend donc ce petit truc

Par contre ' Jack ' merci de repondre à ma question, j'avais bien pensé à un truc comme la multi selection mais comme j'ai joint un ckeck à ma liste ,la multi selection est normalement "impossible" c'est un message d'erreur de VB si je tente de modifié la propriété , je suis sur ' 0 - None ' Ma liste est constituée d'un serie d'items, tous munis d'un check (sans effet) juste pour l'utilisateur du project (c'est a dire moi) afin de servir de repere.
Je me retrouve actuellement en visuel multiselection sans pour autant que le project utilise la multiselection bref une histoire de fou

si le project utilise 4 items avant l'ajout d'un nouvel et bien je me retrouve avec 5 selections !!! et ouf , l'item nouveau arrive et là, tout redevient clair
et puis ca recommence .... une histoire curieuse
et super ennervante.

si tu as une idee alors n'hesite pas je suis toute prete à recevoir tes conseils

Bisous à vous deux et merci encore
0
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
16 mars 2004 à 22:32
Une idée me vient, dans mon fort intérieur personnel à moi-même : Est-ce que tu as du code (même anodin) dans les évenements de ta liste, par exemple, est-ce que tu fais une action lorsqu'une case à cocher change d'état ? Ou quand tu appuies sur une touche dans KeyPress ou KeyDown ?
Ce genre de comportement du contrôle me fait penser aux trois états des cases à cocher (Cheched, UnCheked et Greyed)
Sinon, vient nous rejoindre sur le chan #Programmation (là, colonne de gauche dans le carré bleu marqué "Chat"). Tu y rencontreras d'autres développeurs (et 'peuses) et peut-être qu'en dicutant, tu trouveras la source de mes gros malheurs ...
Vala
Jack
0
Rejoignez-nous