0

使用 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;

.

4

1 回答 1

0

bindingNavigator 有一个名为 bindingNavigatorDeleteItem 的 ToolStripItem。 bindingNavigator 的 DeleteItem 属性已设置为此 ToolStripItem。相反,我将其设置为无。然后设置 bindingNavigatorDeleteItem ToolStripItem 的 Click 事件

this.bindingNavigatorDeleteItem.Click += this.bindingNavigatorDeleteItem_Click;

private void bindingNavigatorDeleteItem_Click(object sender, EventArgs e)
    {
        this.bindingSource.EndEdit();
        MyLogger( this.bindingSource.Current);
        this.bindingSource.RemoveCurrent();
    }
于 2014-07-15T23:39:54.130 回答