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
e
Type: System.Windows.Forms.PaintEventArgsA T:System.PaintEventArgs that contains the event data.
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