Accéder à un UserControl dans un FlowLayoutPanel

Shaegal Messages postés 110 Date d'inscription vendredi 1 février 2008 Statut Membre Dernière intervention 12 mai 2021 - 16 janv. 2019 à 19:00
Whismeril Messages postés 19064 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 juin 2024 - 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... ;-)

1 réponse

Whismeril Messages postés 19064 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 juin 2024 657
Modifié le 16 janv. 2019 à 22:01
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

0
Rejoignez-nous