Shape.OnParentChanged Method
Raises the ParentChanged event.
Namespace: Microsoft.VisualBasic.PowerPacks
Assembly: Microsoft.VisualBasic.PowerPacks.Vs (in Microsoft.VisualBasic.PowerPacks.Vs.dll)
Syntax
'宣告
Protected Overridable Sub OnParentChanged ( _
e As EventArgs _
)
protected virtual void OnParentChanged(
EventArgs e
)
protected:
virtual void OnParentChanged(
EventArgs^ e
)
abstract OnParentChanged :
e:EventArgs -> unit
override OnParentChanged :
e:EventArgs -> unit
protected function OnParentChanged(
e : EventArgs
)
Parameters
- e
Type: System.EventArgs
An EventArgs that contains the event data.
Remarks
Raising an event invokes the event handler through a delegate. For more information, see Raising an Event.
The OnParentChanged 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 OnParentChanged in a derived class, be sure to call the OnParentChanged method of the base class so that registered delegates receive the event.
Examples
The following example is an event-raising method that is executed when the Enabled property value changes. The Shape class has several methods with the name pattern OnPropertyNameChanged that raise the corresponding PropertyNameChanged event when the PropertyName value changes (PropertyName represents the name of the corresponding property.)
The following example changes the color of a line when the Enabled property of a class derived from LineShape is changed to false.
Public Class DisabledLine
Inherits LineShape
Protected Overrides Sub OnEnabledChanged(ByVal e As EventArgs)
' Change the color of the line when selected.
If Me.BorderColor = SystemColors.InactiveBorder Then
Me.BorderColor = Color.Black
Else
Me.BorderColor = SystemColors.InactiveBorder
End If
MyBase.OnEnabledChanged(e)
End Sub
End Class
public class DisabledLine :
LineShape
{
protected override void OnEnabledChanged(EventArgs e)
{
// Change the color of the line when selected.
if (this.BorderColor == SystemColors.InactiveBorder)
{
this.BorderColor = Color.Black;
}
else
{
this.BorderColor = SystemColors.InactiveBorder;
}
base.OnEnabledChanged(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)