Compartilhar via


Shape.OnPaint Method

Raises the Paint event.

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

Syntax

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

Parameters

Remarks

Raising an event invokes the event handler through a delegate. For more information, see Raising an Event.

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
    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
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);
    }
}

.NET Framework Security

See Also

Reference

Shape Class

Microsoft.VisualBasic.PowerPacks Namespace

Other Resources

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)