在列表框中添加/删除项目的事件c#.NET

Jam*_*mes 3 .net c# events listbox winforms

我有一个item动态添加并手动删除的列表框控件(由于'删除项'按钮).当项目数量发生变化时,我想更新用户界面的其他部分 - 即标题为"你必须选择一些文件".和项目计数标题.

当项目数量发生变化时,如何将事件处理程序或有效的事件处理程序添加到触发器中 - 例如a ItemAddedItemRemovedorItemsChanged

注意:这与用户选择列表框中的项目无关.

非常感谢!

Lar*_*ech 5

您可以尝试使用a BindingList<>作为您的DataSource,然后您在该列表上而不是您的行为ListBox- 它将自动从中获取更新BindingList.

BindingList有一个ListChanged事件.

ListChanged事件ListChangedEventArgs包含一个ListChangedType枚举器:

BindingList<string> list = new BindingList<string>();
list.ListChanged += new ListChangedEventHandler(list_ListChanged);

void list_ListChanged(object sender, ListChangedEventArgs e) {
  switch (e.ListChangedType){
    case ListChangedType.ItemAdded:
      break;
    case ListChangedType.ItemChanged:
      break;
    case ListChangedType.ItemDeleted:
      break;
    case ListChangedType.ItemMoved:
      break;
    // some more minor ones, etc.
  }
}
Run Code Online (Sandbox Code Playgroud)