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

Partager un controle entre plusieurs instances d'une classe.

2 réponses
Avatar
Michel S.
Bonjour,

Dans un formulaire utilisé pour une évaluation de projets, il y a
plusieurs critères, notés par plusieurs personnes. En tout, un projet
peut recevoir jusqu'à 300 notes.

Toutes les cotes ont le même fonctionnement et les mêmes valeurs
possibles (un code à 3 lettres). De plus, à chaque cote correspond
une couleur que le champ prend après coup.

Pour simplifier les choses, j'ai défini une classe (with events) à
laquelle j'associe chacun des champs de notation qui sont sur le
formulaire. Tout fonctionne à merveille !

On me demande maintenant de faire le changement suivant : lorsqu'un
champ (textbox) reçoit le focus, le remplacer par un comboBox pour
faciliter la saisie et la validation.

Aucun problème avec cela : une modification de la classe permet de
rendre le textbox invisible et rendre visible le combo à la place (et
l'opération inverse après la saisie) est facile à faire.

Mon problème est le suivant : si je crée ey conserve le combo à
l'intérieur de la classe, je vais me retrouver avec autant de copies de
combo que j'aurai d'instances de champs de saisie alors qu'en réalité
un seul sera nécessaire et visible à l'écran en tout temps.

Ma question est donc : est-il possible que toutes les instances de la
classe que je vais créer réfèrent et utilisent un seul et même contrôle
combo (dont je pourrai changer la position dynamiquement au besoin), et
que cela se fasse sans trop tordre les fondements sous-jacents aux
modules de classe.

Si oui, comment ?

Merci !

2 réponses

Avatar
Bruno
Il faut utiliser un singleton
Avatar
Michel S.
Bruno a formulé la demande :
Il faut utiliser un singleton


C'est faisable en Access-VBA ?

J'en ai trouvé des exemples, mais ils sont tous en VB ou en .NET et je
n'ai pas été capable de les transposer en VBA.

Tu aurais une référence à m'indiquer à ce sujet ?

Merci !