The item is deleted before the event occurs. This means that (without additional code) you cannot reach the element to be deleted.
However, you can inherit from BindingList and override RemoveItem:
public class BindingListWithRemoving<T> : BindingList<T> { protected override void RemoveItem(int index) { if (BeforeRemove != null) BeforeRemove(this, new ListChangedEventArgs(ListChangedType.ItemDeleted, index)); base.RemoveItem(index); } public event EventHandler<ListChangedEventArgs> BeforeRemove; }
You must also replicate the BindingList constructors. Also, do not try to make it canceled, as callers may suggest that calling Remove does remove the item.
source share