Получение удаленной записи из bindingNavigator

Используя C# Winforms, у меня есть форма с BindingNavigator. Когда пользователь нажимает кнопку удаления, я хочу записать запись до ее удаления.

Нетрудно сказать, что кнопка "Удалить" была нажата с помощью

private void bindingSource_ListChanged(object sender, ListChangedEventArgs e)
{
  if (e.ListChangedType == ListChangedType.ItemDeleted)
 {
 }
}

Однако BindingSource.ListChanged является завершенным событием, которое запускается после удаления строки. Когда это событие запускается, строка уже удалена, так как я могу перехватить ее?

Я привязываюсь к списку объектов.

    this.bindingSource.DataSource = Controller.Data;  // returning a List<Person>()
    this.bindingNavigator.BindingSource = this.bindingSource;

,

1 ответ

BindingNavigator имеет ToolStripItem, называемый bindingNavigatorDeleteItem. Свойство DeleteItem для bindingNavigator было установлено в этот ToolStripItem. Вместо этого я установил это ни к чему. Затем установите событие клика для bindingNavigatorDeleteItem ToolStripItem

this.bindingNavigatorDeleteItem.Click += this.bindingNavigatorDeleteItem_Click;

private void bindingNavigatorDeleteItem_Click(object sender, EventArgs e)
    {
        this.bindingSource.EndEdit();
        MyLogger( this.bindingSource.Current);
        this.bindingSource.RemoveCurrent();
    }
Другие вопросы по тегам