2.5 KiB
title, ms.date, dev_langs, helpviewer_keywords, ms.assetid
| title | ms.date | dev_langs | helpviewer_keywords | ms.assetid | ||||
|---|---|---|---|---|---|---|---|---|
| Property-Changed Events | 03/30/2017 |
|
|
268039ec-5aaa-4d76-b902-acccb036c850 |
Property-Changed Events
If you want your control to send notifications when a property named PropertyName changes, define an event named PropertyNameChanged and a method named OnPropertyNameChanged that raises the event. The naming convention in Windows Forms is to append the word Changed to the name of the property. The associated event delegate type for property-changed events is xref:System.EventHandler, and the event data type is xref:System.EventArgs. The base class xref:System.Windows.Forms.Control defines many property-changed events, such as xref:System.Windows.Forms.Control.BackColorChanged, xref:System.Windows.Forms.Control.BackgroundImageChanged, xref:System.Windows.Forms.Control.FontChanged, xref:System.Windows.Forms.Control.LocationChanged, and others. For background information about events, see Events and Events in Windows Forms Controls.
Property-changed events are useful because they allow consumers of a control to attach event handlers that respond to the change. If your control needs to respond to a property-changed event that it raises, override the corresponding OnPropertyNameChanged method instead of attaching a delegate to the event. A control typically responds to a property-changed event by updating other properties or by redrawing some or all of its drawing surface.
The following example shows how the FlashTrackBar custom control responds to some of the property-changed events that it inherits from xref:System.Windows.Forms.Control. For the complete sample, see How to: Create a Windows Forms Control That Shows Progress.
[!code-csharpSystem.Windows.Forms.FlashTrackBar#2] [!code-vbSystem.Windows.Forms.FlashTrackBar#2]