Accéder à un UserControl dans un FlowLayoutPanel

Signaler
Messages postés
110
Date d'inscription
vendredi 1 février 2008
Statut
Membre
Dernière intervention
12 mai 2021
-
Messages postés
15931
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
14 mai 2021
-
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... ;-)

1 réponse

Messages postés
15931
Date d'inscription
mardi 11 mars 2003
Statut
Contributeur
Dernière intervention
14 mai 2021
545
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