Accéder a .selectedindex sur un Control

buddy91600 Messages postés 14 Date d'inscription vendredi 17 mars 2006 Statut Membre Dernière intervention 26 août 2008 - 19 mars 2007 à 17:41
buddy91600 Messages postés 14 Date d'inscription vendredi 17 mars 2006 Statut Membre Dernière intervention 26 août 2008 - 20 mars 2007 à 21:49
Salut

J'ai un tableau  de Forms.Control ( avec dedans des combobox , des checkbox , ...)

je veux utiliser dans certain cas la properties .selectedindex qui existe sur les combo , mais comment l'atteindre puisse que j'ai des Control .
exemple simplifié avec combo un combobox et message un autre type de controle

Dim i AsByte

Dim controle(5) As Control

controle(1) = Combo

controle(2) = message

For i = 1 To 2
   
If (controle(i).GetType.ToString = "System.Windows.Forms.ComboBox") Then
   
' controle(1).selectedItem = 5
   
' Combo.SelectedIndex = 5
   
EndIf

Next
Je suis sur de ne pas avoir bien compris l'héritage des classes.
Ca marche bien sur avec dim contole(2) as combobox, mais dans ma liste , il n'y a pas que des combobox donc je veux utiliser un tableau de Control.

Merci d'avance

 

6 réponses

jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
19 mars 2007 à 17:53
Tu développes finalement sous quoi ?




C'est quoi, sous VB6
,  GetType.ToString
  ?


 
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
19 mars 2007 à 18:28
Salut,

c'est pas du VB6 mais du VB DotNet...

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
0
Utilisateur anonyme
19 mars 2007 à 19:00
Pourquoi passer par des chaines ?

If Controle(i).GetType Is GetType(System.Windows.Forms.ComboBox) Then
 ...






__________
Kenji
0
Julien237 Messages postés 883 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 3 mars 2009 7
19 mars 2007 à 20:51
Salut

Enumérer les ComboBox :
For each c as Combobox in Me.controls
   c.selecteditem = ...
Next

Enumérer tout, les traiter selon les types en utilisant la technique de Charles et un Cast :
For each c as control in me.controls
  If GetType(c) is Combobox then
    dim cb as ComboBox
    cb = CType(c, ComboBox)
    cb.selectedindex = ...
  elseif GetType(c) is CheckBox then
   'idem...
  else
   'pour les autres
  end if
Next

Y'a peut-être des fautes de frappes, j'ai tappé direct dans la FreeTextBox...
<hr size="2" width="100%" />Julien.
0

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

Posez votre question
Julien237 Messages postés 883 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 3 mars 2009 7
19 mars 2007 à 20:57
Bon attends je suis un peu nul ce soir ^^
La première technique ne marche pas car il va essayer de caster par exemple tes checkbox en combobox, ce qui va provoquer une erreur.
La deuxième technique est bonne mais le test de type est mauvaise. A la place de

If GetType(c) is Combobox then

Utilise

If TypeOf c is ComboBox Then

Nettement mieux...

Bonne soirée !
<hr size="2" width="100%" />Julien.
0
buddy91600 Messages postés 14 Date d'inscription vendredi 17 mars 2006 Statut Membre Dernière intervention 26 août 2008
20 mars 2007 à 21:49
Merci à tous

Quand on débute , il n'y pas mieux que vous

Super
0
Rejoignez-nous