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
e
Type: PaintEventArgsA PaintEventArgs that contains the event data.
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
- Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see Using Libraries from Partially Trusted Code.
See Also
Reference
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)