Auto-selection ds combobox

nerone21 Messages postés 108 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 5 mai 2011 - 19 juil. 2007 à 14:39
cs_bolandfranck Messages postés 34 Date d'inscription lundi 15 janvier 2007 Statut Membre Dernière intervention 8 octobre 2009 - 6 sept. 2007 à 23:46
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

cs_ov3rdoze Messages postés 414 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 23 septembre 2014
19 juil. 2007 à 14:45
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
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
19 juil. 2007 à 14:48
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
0
nerone21 Messages postés 108 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 5 mai 2011
19 juil. 2007 à 14:52
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.
0
cs_ov3rdoze Messages postés 414 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 23 septembre 2014
19 juil. 2007 à 15:01
for i as integer = 0 to combo1.length - 1
if combo1.items(i).text = ... then
...
end if
next
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
19 juil. 2007 à 15:04
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à !!!!
0
nerone21 Messages postés 108 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 5 mai 2011
19 juil. 2007 à 15:10
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
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
19 juil. 2007 à 15:31
Je n'aime pas beaucoup ta solution, qui t'expose à tout, en passant (mais pas seulement) par la casse...
0
nerone21 Messages postés 108 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 5 mai 2011
19 juil. 2007 à 15:33
c'est a dire?
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
19 juil. 2007 à 15:38
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 .
0
nerone21 Messages postés 108 Date d'inscription vendredi 4 mars 2005 Statut Membre Dernière intervention 5 mai 2011
19 juil. 2007 à 15:45
oki merci du conseil.
0
cs_bolandfranck Messages postés 34 Date d'inscription lundi 15 janvier 2007 Statut Membre Dernière intervention 8 octobre 2009
6 sept. 2007 à 23:46
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
0
Rejoignez-nous