Share via


Shape.OnPaint Method (PaintEventArgs)

 

Raises the Paint event.

Namespace:   Microsoft.VisualBasic.PowerPacks
Assembly:  Microsoft.VisualBasic.PowerPacks.Vs (in Microsoft.VisualBasic.PowerPacks.Vs.dll)

Syntax

protected internal virtual void OnPaint(
    PaintEventArgs e
)
public protected:
virtual void OnPaint(
    PaintEventArgs^ e
)
abstract OnPaint : 
        e:PaintEventArgs -> unit
override OnPaint : 
        e:PaintEventArgs -> unit
Protected Friend Overridable Sub OnPaint (
    e As PaintEventArgs
)

Parameters

Remarks

Raising an event invokes the event handler through a delegate. For more information, see Handling and Raising Events.

The OnPaint method also enables derived classes to handle the event without attaching a delegate. This is the preferred technique for handling the event in a derived class.

Notes to Inheritors:

When you override OnPaint in a derived class, be sure to call the OnPaint method of the base class so that registered delegates receive the event.

Examples

The following example is a method that is executed when the Click event occurs. The Shape class has several methods with the name pattern OnEventName that execute methods when the EventName event occurs. (EventName represents the name of the corresponding event.)

The following example demonstrates how to override the OnClick and OnLostFocus methods in a class that derives from LineShape.

public class HighlightLine :
    LineShape
{
    protected override void OnClick(EventArgs e)
    {
        // Change the color of the line when clicked.
        this.BorderColor = Color.Red;
        base.OnClick(e);
    }
    protected override void OnLostFocus(System.EventArgs e)
    {
        // Change the color of the line when focus is changed.
        this.BorderColor = Color.Black;
        base.OnLostFocus(e);
    }
}
Public Class HighlightLine
    Inherits LineShape
    Protected Overrides Sub OnClick(ByVal e As EventArgs)
        ' Change the color of the line when clicked.
        Me.BorderColor = Color.Red
        MyBase.OnClick(e)
    End Sub
    Protected Overrides Sub OnLostFocus(ByVal e As System.EventArgs)
        ' Change the color of the line when focus is changed.
        Me.BorderColor = Color.Black
        MyBase.OnLostFocus(e)
    End Sub
End Class

See Also

Shape Class
Microsoft.VisualBasic.PowerPacks Namespace
How to: Draw Lines with the LineShape Control (Visual Studio)
How to: Draw Shapes with the OvalShape and RectangleShape Controls (Visual Studio)
Introduction to the Line and Shape Controls (Visual Studio)

Return to top