Maison > développement back-end > C++ > Comment implémenter et gérer des événements de contrôle utilisateur personnalisés dans les formulaires principaux ?

Comment implémenter et gérer des événements de contrôle utilisateur personnalisés dans les formulaires principaux ?

DDD
Libérer: 2025-01-04 01:13:40
original
738 Les gens l'ont consulté

How to Implement and Handle Custom User Control Events in Main Forms?

Implémentation d'événements dans les contrôles utilisateur et gestion de ceux-ci dans les formulaires principaux

Lors de la création de contrôles utilisateur personnalisés, il peut être nécessaire de déclencher des événements qui devraient être géré par le formulaire principal. Cela offre une flexibilité et permet un meilleur contrôle entre les différents composants de l'application.

Pour implémenter cette fonctionnalité, vous devez créer un gestionnaire d'événements dans le contrôle utilisateur qui sera déclenché lorsqu'un événement se produit dans le contrôle. Cela permet à l'événement d'être transmis au formulaire principal, où il peut être géré en conséquence.

Par exemple, envisagez un contrôle utilisateur personnalisé avec un contrôle numérique haut-bas. Lorsque la valeur de ce contrôle change, vous souhaitez que le formulaire principal mette à jour une fenêtre d'affichage.

Code de gestion des événements

Dans le contrôle utilisateur, créez un gestionnaire d'événements pour le contrôle numérique haut-bas, comme indiqué ci-dessous :

[Browsable(true)]
[Category("Action")]
[Description("Invoked when user clicks button")]
public event EventHandler ButtonClick;
Copier après la connexion

Dans la méthode de gestion des événements pour le contrôle numérique haut-bas, déclenchez l'événement ButtonClick pour faire une bulle jusqu'au formulaire :

protected void Button1_Click(object sender, EventArgs e)
{
    //bubble the event up to the parent
    if (this.ButtonClick != null)
        this.ButtonClick(this, e);               
}
Copier après la connexion

Dans le formulaire principal, abonnez-vous à l'événement ButtonClick du contrôle utilisateur :

UserControl1.ButtonClick += new EventHandler(UserControl_ButtonClick);
Copier après la connexion

Enfin, gérez l'événement dans le formulaire principal :

protected void UserControl_ButtonClick(object sender, EventArgs e)
{
    //handle the event 
}
Copier après la connexion

Remarques :

  • Dans les versions plus récentes de Visual Studio, vous pouvez utiliser ButtonClick?.Invoke(this, e); au lieu de if (this.ButtonClick != null) this.ButtonClick(this, e);.
  • Les attributs Browsable, Category et Description améliorent l'expérience utilisateur en rendant l'événement visible dans le concepteur de Visual Studio.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal