Renvoyer un évènement vers un controle utilisateur parent

Résolu
MGD Software Messages postés 193 Date d'inscription vendredi 1 septembre 2006 Statut Membre Dernière intervention 23 avril 2022 - 8 mai 2019 à 15:03
Whismeril Messages postés 18296 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 27 mars 2023 - 8 mai 2019 à 19:10
Bonjour,

J'ai développé un contrôle utilisateur (A) comprenant plusieurs contrôles.
Ce contrôle est destiné (naturellement) à être intégré lui-même dans un contrôle conteneur (B).

Je souhaiterais que le clic sur n'importe lequel des contrôles contenus dans A soit transmis à l'évènement Click de ce dernier, sans avoir à développer un évènement spécifique.
En clair, dans le contrôle B, je souhaiterais que le gestionnaire A_Click reçoive le clic de n'importe lequel des objets de A, avec A dans l'objet sender, comme si on avait cliqué sur le contrôle lui-même.

En fait, il est peu important de savoir ce qui a été cliqué dans A, seul importe le fait de savoir qu'on a cliqué, et quel est le contrôle A sur lequel il a été cliqué (il y a plusieurs dizaines de contrôles A dans B). Après, je traite les propriétés de A.

Idem pour KeyDown et KeyPress (je n'ai pas trouvé de KeyPreview pour les contrôles utilisateurs, comme on a dans les Forms).

J'espère avoir été clair...

2 réponses

MGD Software Messages postés 193 Date d'inscription vendredi 1 septembre 2006 Statut Membre Dernière intervention 23 avril 2022 2
Modifié le 8 mai 2019 à 17:07
Un peu plus tard...

J'ai essayé la chose suivante : Dans A :

Form1_Load
{
    foreach (Control Ctrl in this.Controls)
        Ctrl.Click += new EventHandler(OnCtrlClick);
}
//-------------------------------------------------------------------------------------------------------------
private void OnCtrlClick(object sender, EventArgs e)
{
    this.OnClick(e);
}

et dans B (UC est une instance de A) :

private void UC_Click(object sender, EventArgs e)
{
    MessageBox.Show("Clic !");
}


Ça fonctionne très bien !
Comme quoi poser un problème par écrit et le décrire complètement faire réfléchir un peu plus et peut aider à le résoudre "tout seul soi-même".

Mais si ça peut servir à quelqu'un d'autre...
0
Whismeril Messages postés 18296 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 27 mars 2023 622
8 mai 2019 à 19:10
Salut, si j’avais vu ta question avant que tu y répondes toi-même, c’est exactement ce que je t’aurais proposé
0
Rejoignez-nous