accès à plusieurs contrôles de formulaire à l'aide d'une variable pour le nom

Je suis en train de parcourir un groupe de zones de liste modifiables et définir une propriété à l'aide d'une chaîne concaténée & variable pour représenter le nom de la commande. Cependant, je ne peux pas obtenir l'instance de la forme à reconnaître l' (String & Integer_Variable) comme l'une de ses commandes -- et donc il ne reconnaît pas toutes les propriétés des sous-routines ou en tant que membres du Système.De Windows.Les formulaires.De contrôle.

J'ai trouvé le DirectCast solution DONC et il semble fonctionner (même si je suis douteuse), mais qui se sent comme une très maladroit solution. Est-il une manière plus propre de faire cela?

For myTempCount = 1 To 6
    If tempValue < Me.("ComboBox" & myTempCount).Items.Count Then
        ComboBox.SelectedIndex = tempValue 'appears to work -- how?
        Me.ComboBox.SelectedIndex = tempValue 'appears to work

        Me.("ComboBox" & myTempCount).SelectedIndex = tempValue 'doesn't work
        Me.Controls.("ComboBox" & myTempCount).SelectedIndex = tempValue 'doesn't work

        DirectCast(Me.Controls.Find(("ComboBox" & myTempCount), True)(0), ComboBox).SelectedIndex = tempValue 'appears to work
        DirectCast(Me.Controls("ComboBox" & myTempCount), ComboBox).SelectedIndex = tempValue  'appears to work
Next

Ce code a été à l'origine de VBA /VB6, que j'ai mis par ArtinSoft de Mise à niveau Visual Basic Compagnon (VBUC). FWIW, je suis à l'aide de Microsoft Visual Basic 2010 Express.

InformationsquelleAutor Wingman4l7 | 2012-05-23