Auto-selection ds combobox

Signaler
Messages postés
108
Date d'inscription
vendredi 4 mars 2005
Statut
Membre
Dernière intervention
5 mai 2011
-
Messages postés
34
Date d'inscription
lundi 15 janvier 2007
Statut
Membre
Dernière intervention
8 octobre 2009
-
Bonjour les codeurs,

Tout d'abord je suis debutant en VB, alors un peu d'intransigeance lol.... et en vb2005 en plus ^^

je vous explique l'utilité de la combobox ds mon projet:
le programme démarre docn combobox vide, une recherche de tt les lecteurs de disques durs, cd etc... est faites. et chaque lecteur est répertorié ds la combobox dynamiquement à chaque lecteur trouvé, avec une ligne par lecteur et une ligne par type de lecteur :

exemple de resultat:

1ere ligne : c:\   (disque dur)
2eme ligne : d:\  (disque dur)
3eme ligne : e:\  (lecteur cd)
4eme ligne: tout les disks dur (c:\ d:\)
5eme ligne: tout les lecteurs cd (e:\)

et en fin de compte, le nombre de ligne peut etre variable selon le nombre de lecteur

Ma question est donc:
est-il possible que lorsque la recherche est terminée, la ligne affichée ds la combobox (une auto selection d'une ligne en faite), soit "tout les disks dur (...)" ?

je sais qu'en c++, c'etait : nIndex=(

int) SendDlgItemMessage (hWnd, IDC_LECTEURS, CB_FINDSTRING, (WPARAM) 0, (LPARAM) diskdur);

voila merci a ceux qui pourront m'aider.

Bon code ^^

11 réponses

Messages postés
414
Date d'inscription
lundi 19 juillet 2004
Statut
Membre
Dernière intervention
23 septembre 2014

Bonjour

Tu pourrais faire une boucle qui parcourt tous les item du combobox, et si il chaine "Tous les disques durs" est trouvée, tu sélectionne cet item.

Mais c'est sûr c'est pas propre comme solution
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Ce ne devrait pas être très loin de ce que l'on fait avec VB6, à savoir :
 Combo1.Text = Combo1.List(index)
où index serait, avec ton exemple, = 3
Messages postés
108
Date d'inscription
vendredi 4 mars 2005
Statut
Membre
Dernière intervention
5 mai 2011

Merci pour vos reponse mais il n'y a pas de fonctions toutes pretes pour ca dc?

peut tu me donner le squelette de la boucle pour parcourir une combobox stp!

merci.
Messages postés
414
Date d'inscription
lundi 19 juillet 2004
Statut
Membre
Dernière intervention
23 septembre 2014

for i as integer = 0 to combo1.length - 1
if combo1.items(i).text = ... then
...
end if
next
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Re,


pas besoin de boucle du tout (relis--moi).


 


Alors :
1) une variable gobale integer toto dans laquelle tu mets le N° d'   aticle (en même temps que tu l'ajoutes dans ta combo) ... çà, c'est fastoche, quand même, non ?
2) utilisation de ce que je t'ai dit pplus haut , à savoir :
Combo1.Text = Combo1.List(toto)
ou l'équivalent VB.Net (si pas pareil, ce qui m'étonnerait)

Bé... je ne vois pas où est le problème, dans cette affaire là !!!!
Messages postés
108
Date d'inscription
vendredi 4 mars 2005
Statut
Membre
Dernière intervention
5 mai 2011

c'est bon merci à vous deux, j'ai trouvé tout seul en parcourant les proriétés que m'offre les combobox:


Dim index
As
Integer =
Me.ComboBoxDrives.FindString(
"Tous les disques dur")



Me
.ComboBoxDrives.SelectedIndex() = index

Merci encore et a bientot
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
Je n'aime pas beaucoup ta solution, qui t'expose à tout, en passant (mais pas seulement) par la casse...
Messages postés
108
Date d'inscription
vendredi 4 mars 2005
Statut
Membre
Dernière intervention
5 mai 2011

c'est a dire?
Messages postés
7668
Date d'inscription
samedi 5 novembre 2005
Statut
Membre
Dernière intervention
22 août 2014
26
C'est-à-dire que :
1) tu écris celà en dur
2) ton appli est susceptible de faire l'objet, un jour, par toi ou un autre, d'une maintenance
3) le 1er qui ne "verra pas le coup" se fera avoir...

Je ne vais pas te faire un dessin... tu es suffisamment avancé pour extrapoler et voir ce que celà donnerait.

En relevant l'index dans une variable, par contre : tu élimines définitivement ce casse-tête .
Messages postés
108
Date d'inscription
vendredi 4 mars 2005
Statut
Membre
Dernière intervention
5 mai 2011

oki merci du conseil.
Messages postés
34
Date d'inscription
lundi 15 janvier 2007
Statut
Membre
Dernière intervention
8 octobre 2009

Je suis assez daccord avec [auteurdetail.aspx?ID=615490 jmfmarques] !!!

Aussi je cherche le meme genre de chose mais avec un datagriviewcomboboxcell ??
Selectionner une valeur parait impossible !

Merci