Windows apps
Collapse the table of content
Expand the table of content
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

ListChangedEventArgs Class


Provides data for the ListChanged event.

Namespace:   System.ComponentModel
Assembly:  System (in System.dll)


[HostProtectionAttribute(SecurityAction.LinkDemand, SharedState = true)]
public class ListChangedEventArgs : EventArgs

System_CAPS_pubmethodListChangedEventArgs(ListChangedType, Int32)

Initializes a new instance of the ListChangedEventArgs class given the type of change and the index of the affected item.

System_CAPS_pubmethodListChangedEventArgs(ListChangedType, Int32, Int32)

Initializes a new instance of the ListChangedEventArgs class given the type of change and the old and new index of the item that was moved.

System_CAPS_pubmethodListChangedEventArgs(ListChangedType, Int32, PropertyDescriptor)

Initializes a new instance of the ListChangedEventArgs class given the type of change, the index of the affected item, and a PropertyDescriptor describing the affected item.

System_CAPS_pubmethodListChangedEventArgs(ListChangedType, PropertyDescriptor)

Initializes a new instance of the ListChangedEventArgs class given the type of change and the PropertyDescriptor affected.


Gets the type of change.


Gets the index of the item affected by the change.


Gets the old index of an item that has been moved.


Gets the PropertyDescriptor that was added, changed, or deleted.


Determines whether the specified object is equal to the current object.(Inherited from Object.)


Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.(Inherited from Object.)


Serves as the default hash function. (Inherited from Object.)


Gets the Type of the current instance.(Inherited from Object.)


Creates a shallow copy of the current Object.(Inherited from Object.)


Returns a string that represents the current object.(Inherited from Object.)

A ListChanged event is raised when the data in an IBindingList changes.

The NewIndex property indicates the index of the item that was added, changed, or deleted. If an item was moved, the NewIndex property indicates the new location of the item and the OldIndex property indicates the old location.

If only one item is affected by a change, the OldIndex property value is -1.

The following code example demonstrates the use of this type. In the example, an event handler reports on the occurrence of the BindingSource.ListChanged event. This report helps you to learn when the event occurs and can assist you in debugging. To report on multiple events or on events that occur frequently, consider replacing MessageBox.Show with Console.WriteLine or appending the message to a multiline TextBox.

To run the example code, paste it into a project that contains an instance of type BindingSource named BindingSource1. Then ensure that the event handler is associated with the BindingSource.ListChanged event.

private void BindingSource1_ListChanged(Object sender, ListChangedEventArgs e) {

System.Text.StringBuilder messageBoxCS = new System.Text.StringBuilder();
messageBoxCS.AppendFormat("{0} = {1}", "ListChangedType", e.ListChangedType );
messageBoxCS.AppendFormat("{0} = {1}", "NewIndex", e.NewIndex );
messageBoxCS.AppendFormat("{0} = {1}", "OldIndex", e.OldIndex );
messageBoxCS.AppendFormat("{0} = {1}", "PropertyDescriptor", e.PropertyDescriptor );
MessageBox.Show(messageBoxCS.ToString(), "ListChanged Event" );

.NET Framework
Available since 1.1

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Return to top
© 2016 Microsoft