Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Mise à jour : novembre 2007
Les étapes de base de la substitution d'un événement défini dans le .NET Framework sont identiques et sont récapitulées dans la liste suivante.
Pour substituer un événement hérité
Substituez la méthode OnNomÉvénement protégée.
Appelez la méthode OnNomÉvénement de la classe de base à partir de la méthode OnNomÉvénement substituée, de sorte que les délégués inscrits reçoivent l'événement.
L'événement Paint est décrit en détail dans cette section, car tous les contrôles Windows Forms doivent substituer l'événement Paint qu'ils héritent de Control. La classe Control de base ignore comment un contrôle dérivé doit être dessiné et ne fournit pas de logique de peinture dans la méthode OnPaint. La méthode OnPaint de la classe Control distribue simplement l'événement Paint aux récepteurs d'événements inscrits.
Si vous avez utilisé l'exemple dans Comment : développer un contrôle Windows Forms simple, vous avez consulté un exemple de substitution de la méthode OnPaint. Le fragment de code suivant est extrait de cet exemple.
Public Class FirstControl
Inherits Control
Public Sub New()
End Sub
Protected Overrides Sub OnPaint(e As PaintEventArgs)
' Call the OnPaint method of the base class.
MyBase.OnPaint(e)
' Call methods of the System.Drawing.Graphics object.
e.Graphics.DrawString(Text, Font, New SolidBrush(ForeColor), RectangleF.op_Implicit(ClientRectangle))
End Sub
End Class
public class FirstControl : Control{
public FirstControl() {}
protected override void OnPaint(PaintEventArgs e) {
// Call the OnPaint method of the base class.
base.OnPaint(e);
// Call methods of the System.Drawing.Graphics object.
e.Graphics.DrawString(Text, Font, new SolidBrush(ForeColor), ClientRectangle);
}
}
La classe PaintEventArgs contient les données de l'événement Paint. Elle possède deux propriétés, comme illustré dans le code suivant.
Public Class PaintEventArgs
Inherits EventArgs
...
Public ReadOnly Property ClipRectangle() As System.Drawing.Rectangle
...
End Property
Public ReadOnly Property Graphics() As System.Drawing.Graphics
...
End Property
...
End Class
public class PaintEventArgs : EventArgs {
...
public System.Drawing.Rectangle ClipRectangle {}
public System.Drawing.Graphics Graphics {}
...
}
ClipRectangle est le rectangle à peindre, et la propriété Graphics fait référence à un objet Graphics. Les classes de l'espace de noms System.Drawing sont des classes managées qui permettent d'accéder aux fonctionnalités de GDI+, la nouvelle bibliothèque de graphiques Windows. L'objet Graphics possède des méthodes pour le dessin de points, de chaînes, de lignes, d'arcs, d'ellipses et de nombreuses autres formes.
Un contrôle appelle sa méthode OnPaint chaque fois qu'il doit modifier son affichage visuel. Cette méthode déclenche à son tour l'événement Paint.
Voir aussi
Concepts
Rendu d'un contrôle Windows Forms
Définition d'un événement dans les contrôles Windows Forms