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

标签 c# .net winforms events listbox

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

当项目数量发生变化时,如何添加事件处理程序或有效的事件处理程序来触发 - 例如ItemAddedItemRemovedItemsChanged

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

非常感谢!

最佳答案

您可以尝试使用 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.
  }
}

关于c# - 在列表框中添加/删除项目的事件 c#.NET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7860467/

相关文章:

c# - 从数据库生成 POCO/DTO 的工具 (SQL Server)

c# - AsQueryable() 在 ASP.NET 中是如何实现的

c# - slider 最大值 = textbox1.text

c# - 有没有办法使 View 状态过期?

C# Image.Clone 内存不足异常

c# - 当它是垂直而不是水平时,是否可以使用 kinect 跟踪 body ?

c# - 检测平板电脑

c# - 通过 HTTP 使用 MSMQ。如何处理队列?

.net - 使用 Entity Framework 更新主键值

c# - WinForms 中的多色线性渐变