Partager via


Définition d'un événement dans les contrôles Windows Forms

Mise à jour : novembre 2007

Pour plus d'informations sur la définition d'événements personnalisés, consultez Déclenchement d'un événement. Si vous définissez un événement qui n'a pas de données associées, utilisez le type de base pour les données d'événement, EventArgs et utilisez EventHandler en tant que délégué d'événement. Il ne reste plus qu'à définir un membre d'événement et une méthode OnNomÉvénement protégée qui déclenche l'événement.

Le fragment de code suivant montre comment le contrôle personnalisé FlashTrackBar définit un événement personnalisé, ValueChanged. Pour obtenir le code complet pour l'exemple FlashTrackBar, consultez Comment : créer un contrôle Windows Forms qui affiche la progression.

Option Explicit
Option Strict

Imports System
Imports System.Windows.Forms
Imports System.Drawing

Public Class FlashTrackBar
   Inherits Control
   
   ' The event does not have any data, so EventHandler is adequate 
   ' as the event delegate.        
   ' Define the event member using the event keyword.
   ' In this case, for efficiency, the event is defined 
   ' using the event property construct.
   Public Event ValueChanged As EventHandler
   ' The protected method that raises the ValueChanged 
   ' event when the value has actually 
   ' changed. Derived controls can override this method.  
   Protected Overridable Sub OnValueChanged(e As EventArgs)
      RaiseEvent ValueChanged(Me, e)
   End Sub
End Class
using System;
using System.Windows.Forms;
using System.Drawing;

public class FlashTrackBar : Control {
   // The event does not have any data, so EventHandler is adequate 
   // as the event delegate.
   private EventHandler onValueChanged;
   // Define the event member using the event keyword.
   // In this case, for efficiency, the event is defined 
   // using the event property construct.
   public event EventHandler ValueChanged {
            add {
                onValueChanged += value;
            }
            remove {
                onValueChanged -= value;
            }
        }
   // The protected method that raises the ValueChanged
   // event when the value has actually 
   // changed. Derived controls can override this method.  
   protected virtual void OnValueChanged(EventArgs e) {
      if (ValueChanged != null) {
         ValueChanged(this, e);
      }
   }
}

Voir aussi

Concepts

Événements dans les contrôles Windows Forms

Déclenchement d'un événement

Autres ressources

Gestion et déclenchement d'événements