Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Référencer l'instance d'un formulaire depuis un autre formulaire qui n'est pas son créateur.

1 réponse
Avatar
Gilbert VINCK
Bonjour,

Une instance de formulaire Windows "instance frm A" crée et affiche une
instance de formulaire "Instance frm B" (ShowDialog)
Comment agir sur "instance frm A" depuis "Instance frm B" ?

Exemple :
"instance frm A" est un formulaire qui présente une liste de données à
l'utilisateur.
Un bouton "Ajouter" de cet "instance frm A" ouvre "Instance frm B"
- dans "Instance frm B" :
- l'utilisateur saisie une nouvelle ligne de données (présentée
sous forme de fiche).
- Un bouton "Enregistrer et ajouter" de ce "instance frm B" lui
permet d'enregistrer cette nouvelle fiche et
d'en ajouter une nouvelle sans refermer "Instance frm B"

COMMENT METTRE A JOUR LA LISTE RESTEE EN ARRIERE PLAN DANS
"instance frm A" POUR Y AFFICHER LES NOUVELLES LIGNES AJOUTEES DANS
"Instance frm B" ?

Mon PB est que je ne sais pas référencer une instance de formulaire depuis
un autre formulaire qui n'est pas son créateur.

Merci d'avance.

Gilbert

1 réponse

Avatar
Patrick Philippot
Bonjour,

Mon PB est que je ne sais pas référencer une instance de formulaire
depuis un autre formulaire qui n'est pas son créateur.



Merci d'éviter les cross post massifs.

Une première solution consiste à renseigner la propriété Owner de Form2
avec la référence à Form1.

Form2.Owner = Form1

L'inconvénient est que le comportement des 2 forms va être lié (voir doc
de la propriété Owner). Même raisonnement avec les propriétés Parent et
ParentForm. A vous de voir si le comportement qui en résultera vous
convient.

Une autre solution plus élégante et moins contraignante consiste à
ajouter dans la classe Form2 un nouveau constructeur (new) qui prend en
argument la référence au formulaire "parent".

Dim f2 As New Form2(Form1)

Dans le constructeur, vous stockez cette référence dans une variable
privée et vous vous en servez quand vous en avez besoin.

--
Patrick Philippot - Microsoft MVP
MainSoft Consulting Services
www.mainsoft.fr