VB .NET. Comment accéder aux propriétés d'un controle dont le nom est dynamiquem

cs_Master Messages postés 32 Date d'inscription samedi 14 octobre 2000 Statut Membre Dernière intervention 29 août 2005 - 7 juin 2005 à 12:00
cs_Master Messages postés 32 Date d'inscription samedi 14 octobre 2000 Statut Membre Dernière intervention 29 août 2005 - 7 juin 2005 à 14:02
VB .NET



J'ai un Panel dans lequel des controles viennent s'afficher à partir d'une Base de Données.

Les noms de ces controles sont crées dynamiquement.

Comment dois je procéder pour accéder aux propriétés de ces controles afin de les modifier ???



C'est URGENT SVP!!!

6 réponses

cs_drahcir Messages postés 745 Date d'inscription mardi 30 novembre 2004 Statut Membre Dernière intervention 15 septembre 2009 4
7 juin 2005 à 12:05
Salut,

tu dois bien récupérer ces noms quelquepart?

@+
0
cs_Master Messages postés 32 Date d'inscription samedi 14 octobre 2000 Statut Membre Dernière intervention 29 août 2005
7 juin 2005 à 12:14
oui bien sur je l'ai récupère mais en Variable

exemple de nom d'un controle : Element & Id
0
cs_drahcir Messages postés 745 Date d'inscription mardi 30 novembre 2004 Statut Membre Dernière intervention 15 septembre 2009 4
7 juin 2005 à 13:28
si la propriété Name de ton composant est "Element", un Element.Text par exemple te permettras de définir le contenu de la propriété Text.

@+
0
cs_Master Messages postés 32 Date d'inscription samedi 14 octobre 2000 Statut Membre Dernière intervention 29 août 2005
7 juin 2005 à 13:37
Mon composant a un nom formé de 2 variable qui sont récupérés dans la base de données

exemple :

je cré plusieurs Panel dynamiques à partir de mon code:

exemple de création d'un panel:



Dim myPanel as New Panel



je le nomme:



myPanel.name = Element & Id (element et Id sont récupéré de la Base de données)



et par moment j'ai besoin de changer les propriétés de ce Panel (ex: BackColor)

Comment doit je faire, sachant que j'ai Element et Id
et que je ne pe pas faire Element & Id.BackColor= ....



???



0

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

Posez votre question
cs_drahcir Messages postés 745 Date d'inscription mardi 30 novembre 2004 Statut Membre Dernière intervention 15 septembre 2009 4
7 juin 2005 à 13:55
Je te proposes ça, ça vaut ce que ça vaut, mais si ça peut te dépanner :

Dim c As Control

For Each c in Me.Controls
If c.Name = Element & Id then
c.BackColor = System.Drawing.Color.Black
End If
Next

Le problème, c'est pour attribuer des propriétés différentes à chacun de tes contrôles.....

@+
0
cs_Master Messages postés 32 Date d'inscription samedi 14 octobre 2000 Statut Membre Dernière intervention 29 août 2005
7 juin 2005 à 14:02
Merci mais C'est la solution que j'utilise mais c'est pas optimale.

On est obligé de parcourir tout les controles et de faire un test a chaque fois (le If)

Qd on a pas beaucoup de controle, ca passe mais quand on en a beaucoup ca devient lent et le changement de

couleur prend du temps.

Ya t'il un moyen d'accéder directement aux controles sans faire de boucle For et de Test ????



SVP AIDEZ MOI !!!
0
Rejoignez-nous