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;
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); }
Dans le formulaire principal, abonnez-vous à l'événement ButtonClick du contrôle utilisateur :
UserControl1.ButtonClick += new EventHandler(UserControl_ButtonClick);
Enfin, gérez l'événement dans le formulaire principal :
protected void UserControl_ButtonClick(object sender, EventArgs e) { //handle the event }
Remarques :
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!