Вы можете превратить ваш List<int>
в BindingList<int>
следующим образом:
BindingList<int> boundList = new BindingList<int>(ListCountH);
BindingList<int>
реализует IBindingList<int>
, который имеет обработчик событий ListChanged
. Поэтому создайте ListChangedEventHandler:
public void BoundList_ListChanged(object sender, ListChangedEventArgs e) {
//use e.ListChangedType property to determine if a row was added
if (e.ListChangedType == ListChangedType.ItemAdded) {
...Do Your Work Here...
}
}
Затем добавьте обработчик в событие ListChanged вашего BindingList:
boundList.ListChanged += new ListChangedEventHandler(BoundList_ListChanged);
Редактировать: в зависимости от того, для чего вы используете список, текущий верхний ответ может быть лучше, поскольку ObservableCollection намного легче, если все, что вам нужно знать, это когда добавляется элемент. Однако BindingList имеет некоторые преимущества с элементами, которые поддерживают INotifyPropertyChanged (он может распространять события PropertyChanged элементов в его событие ListChanged), или если вам нужна поддержка списков Sorting, Searching или ReadOnly.
РЕДАКТИРОВАТЬ: сделало более ясным, что обработчик событий обрабатывает событие BindingList
ListChanged
, ранее я назвал функцию после другого списка, который не будет использоваться в этой реализации.