Accéder à un UserControl dans un FlowLayoutPanel

Messages postés
118
Date d'inscription
vendredi 1 février 2008
Dernière intervention
16 janvier 2019
- - Dernière réponse : Whismeril
Messages postés
12727
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
16 février 2019
- 16 janv. 2019 à 22:00
Bonjour à toutes et tous,

Tout d'abord, je vous souhaite mes meilleurs vœux pour cette nouvelle année.

Pour commencer, le décor.
Je créer un calendrier perpétuel (du moins jusque l'an 2300) destiné à gérer les congés de l'équipe. Dès le lancement de l'application, le calendrier se créé de la façon suivante dans un FlowLayoutPanel (flp):

1 - Création des UserControl (uc) "Mois" de Janvier à Janvier contenants eux-même un flp pour les quantièmes du mois (flpCalendrier.Controls.Add(ucMois)).
2 - Chaque mois créé ses uc "Quantièmes" tous nommés avec 3 Label (lbl) (flpMois.Controls.Add(ucQuantième))



Dès qu'un utilisateur se logue, j'aimerai qu'il puisse afficher/modifier/supprimer directement ses congés dans les ucQuantièmes, sans être obligé de passer par les conteneurs parents. Juste grâce à son nom.

Est-ce possible ? Et si oui, une idée ?

Merci d'avance... ;-)
Afficher la suite 

Votre réponse

1 réponse

Messages postés
12727
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
16 février 2019
332
0
Merci
Bonsoir
Si je comprends bien tu as par exemple un UC qui s'appelle UCJanvier.
Parmi les contrôles de ce flp, il y en a un qui s'appelle flp26.
Et dans ce dernier flp, il y a 3 label lbl1, lbl2 et lbl3.

Et tu veux faire un truc du genre {le lbl2 du flp26 du flpJanvier aura pour texte "coucou"}

    Dim monUc As UC = flpCalendrier.Controls.Single(Function(x) x.Name = "UCJanvier")
    Dim jour As FlowLayoutPanel = monUc.flp.Controls.Single(Function(x) x.Name = "flp26")
    Dim monLabel As Label = jour.Controls.Single(Function(x) x.Name = "lbl2")
    monLabel.Text = "Coucou"


ou réduit
flpCalendrier.Controls.Single(Function(x) x.Name = "UCJanvier").flp.Controls.Single(Function(x) x.Name = "flp26").Controls.Single(Function(x) x.Name = "lbl2").Text = "Coucou"


J'ai tapé de tête, y'a p'tet des boulettes

Quand j'étais petit, la mer Morte n'était que malade.
George Burns
Commenter la réponse de Whismeril

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.