CurrencyManager.ItemChanged Event


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Occurs when the current item has been altered.

Namespace:   System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

public event ItemChangedEventHandler ItemChanged

The ItemChanged event will occur when the user calls the ResumeBinding or SuspendBinding method.

The ItemChanged event occurs only when the item itself has been changed in some manner. For example, if the value of an item is changed from 10 to 42, the event will occur. This should not be confused with the PositionChanged event where the item has been changed to a new item.

The event will also occur if the underlying data changes. For example, if you change the value of a DataRowView, the ItemChanged event will occur.


If you are creating your own control that uses the CurrencyManager, you should use the IBindingList.ListChanged instead of the CurrencyManager.ItemChanged event. The ListChangedType property of the ListChangedEventArgs enables you to determine the type of action that has occurred.

For more information about handling events, see Handling and Raising Events.

The following code example adds event handlers for the ItemChanged and PositionChanged events.

private void BindControl(DataTable myTable)
    // Bind A TextBox control to a DataTable column in a DataSet.
    textBox1.DataBindings.Add("Text", myTable, "CompanyName");
    // Specify the CurrencyManager for the DataTable.
    myCurrencyManager = (CurrencyManager)this.BindingContext[myTable, ""];
    // Add event handlers.
    new ItemChangedEventHandler(CurrencyManager_ItemChanged);
    new EventHandler(CurrencyManager_PositionChanged);
    // Set the initial Position of the control.
    myCurrencyManager.Position = 0;

private void CurrencyManager_PositionChanged(object sender, System.EventArgs e){
    CurrencyManager myCurrencyManager = (CurrencyManager) sender;
    Console.WriteLine("Position Changed " + myCurrencyManager.Position);

private void CurrencyManager_ItemChanged(object sender, System.Windows.Forms.ItemChangedEventArgs e){
    CurrencyManager myCurrencyManager = (CurrencyManager) sender;
    Console.WriteLine("Item Changed " + myCurrencyManager.Position);

.NET Framework
Available since 1.1
Return to top