Création d'un tableau de contrôle utilisateur [Résolu]

math_gury 32 Messages postés vendredi 4 novembre 2005Date d'inscription 8 juin 2009 Dernière intervention - 6 août 2008 à 16:36 - Dernière réponse : Kevin.Ory 843 Messages postés mercredi 22 octobre 2003Date d'inscription 7 janvier 2009 Dernière intervention
- 7 août 2008 à 17:16
Bonjour à tous,

Je voudrais lors de chargement de ma frame créer pour chaque lignes de ma base de données un contrôle utilisateur (ici un label, mais je voudrais le faire aussi avec un un TextBox) avec le nom que je retrouve dans la base de données. cela me pose 2 problèmes :

1)- comment créer un contrôle avec un nom récupérer en base de données?
2)- comment créer un tableau de controle (comme cela était si bien en VB)

Merci à tous, n'hésitez pas à me demander des précisions si je ne suis pas clair.

Mathieu.
Afficher la suite 

Votre réponse

7 réponses

Polack77 1100 Messages postés mercredi 22 mars 2006Date d'inscription 15 avril 2018 Dernière intervention - 6 août 2008 à 17:03
+3
Utile
Bonjour ,

1)- comment créer un contrôle avec un nom récupérer en base de données?
    J'ai pas vraiment compris la question ??? (Ajoute une variable de type string en public à ton control)
2)- comment créer un tableau de controle (comme cela était si bien en VB)
    Tu crée une collection (ou un dico)

Le dico :
Dim NomVariable As Dictionary(Of Type de la clef, Type à mettre dans le dico)
Exemple :
Dim toto As Dictionary(Of String, UserControlConfigSource)
L'avantage est que tu est sure du type contenu par ce type de collection (j'ai entendu dire que le dico étais par contre plus lent que la collection mais je n'es jamais fait de tests)

Mais un tableau de Control est faisable ????
Dim toto(0 To 12) As UserControlConfigSource

Pour ajouter ton contole à un TabPage
TabPageToto.Controls.Add(Util)

Pour fermer un controle :
UserControlConfigSource.Dispose

Voila avec tout sa tu devrais t'en sortir
Amicalement
Pensez "Réponse acceptée"
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Polack77
Polack77 1100 Messages postés mercredi 22 mars 2006Date d'inscription 15 avril 2018 Dernière intervention - 7 août 2008 à 10:41
+3
Utile
Heeeeeee tu parle d'un contrôle utilisateur (UserControl) ou d'un controle classique (textbox par esxemple) ?

Je ne crois pas que ce que tu veut faire soit possible en faite. L'idéale pour toi (à mon humble havie) serais un dico ou collection dans le/la quel/quelle tu range tes objets.

Dim Conteneur as new Dictionary(of String,Label)
Dim ObjLabel As New Label()
Conteneur.Add ("NomDuLabel",ObjLabel)

Pour retrouvé le label dans le dico :
Conteneur("NomDuLabel")

Si non fait une collection le fonctionnement est TRÈS proche de celui du dico (avec de petite subtilité en moins, le dico permet par exemple de récupérer la liste des clef dans un foreach)

Amicalement
Pensez "Réponse acceptée"
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Polack77
Kevin.Ory 843 Messages postés mercredi 22 octobre 2003Date d'inscription 7 janvier 2009 Dernière intervention - 6 août 2008 à 17:03
0
Utile
Salut Mathieu,

Dim TextBoxes(29) As TextBox
For i As Integer = 0 To 29
    TextBoxes(i) = New TextBox
    TextBoxes(i).Name = "TextBox" & i
Next i

Si tu veux ajouter l'un de tes TextBox sur un contrôle conteneur (autrement dit, l'afficher) :
TextBoxes(0).Left = 100
TextBoxes(0).Top = 100
TextBoxes(0).Width = 120
MyContener.Controls.Add(TextBoxes(0))

Tu peux évidement utiliser une list (List(Of TextBox)) ou un dictionary (Dictionary(Of Integer, TextBox)) ou tout autre liste à la place d'un simple tableau..
Commenter la réponse de Kevin.Ory
JPGVB 96 Messages postés mardi 29 mars 2005Date d'inscription 10 mars 2011 Dernière intervention - 6 août 2008 à 17:53
0
Utile
Bonjour, en apparté à ton problème je te fais une suggestion:
crée une serie de textbox indexés (idem avec labels...) liés à une scrollbarre verticale.

ensuite tu te positionne sur ton recordset avec absoluteposition=vscrollbarre + index
et tu boucle avec recordset.movenext pour remplir tes textbox

Ainsi tu evite les dépassements de taille dans ta frame si trop d'enregistrements.
Si ton recordcount est inférieur au nombre de textbox, tu rend la scrollbar invisible.
Commenter la réponse de JPGVB
math_gury 32 Messages postés vendredi 4 novembre 2005Date d'inscription 8 juin 2009 Dernière intervention - 7 août 2008 à 08:22
0
Utile
Pour la question 1) mon problème et de pourvoie instanciée un contrôle avec un nom variable exemple :
dim toto as string = "pouet"
dim [toto] as label

le but étant que mon contrôle est comme nom "pouet"

est-ce plus clair???
J'essaye ta proposition pour la 2)
je te fais un feed back bientot...

Merci...
Commenter la réponse de math_gury
math_gury 32 Messages postés vendredi 4 novembre 2005Date d'inscription 8 juin 2009 Dernière intervention - 7 août 2008 à 11:23
0
Utile
Merci pour tout j'ai fait une collection et ça va bien...
Pour le reste je me suis démerder autrement...

Merci à tous pour tout...
Commenter la réponse de math_gury
Kevin.Ory 843 Messages postés mercredi 22 octobre 2003Date d'inscription 7 janvier 2009 Dernière intervention - 7 août 2008 à 17:16
0
Utile
Heu... c'est exactement ce que j'ai dis/fais dans mon précédent message... pourquoi n'est-il pas acceptable?
Commenter la réponse de Kevin.Ory

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.