【发布时间】:2012-05-22 18:17:13
【问题描述】:
我一直在寻找类似的东西,但找不到。我希望我的程序在 ListBox 发生任何变化时做一些事情(例如,更改所选项目、添加新项目、删除项目等等)
【问题讨论】:
我一直在寻找类似的东西,但找不到。我希望我的程序在 ListBox 发生任何变化时做一些事情(例如,更改所选项目、添加新项目、删除项目等等)
【问题讨论】:
如果您将ListBox 绑定为BindingList,则可以使用BindingLists 的ListChanged 事件。 ListChangedEventArgs 有一个参数 ListChangedType,它告诉您是否添加、删除、移动或更改了项目。
你可以用相似的集合做相似的事情。
如果您自己添加或删除项目,您显然可以直接告诉其他一些代码执行,或者您可以自己创建并引发事件,前提是您有一个 ListAdded 事件:
ListAdded(this, new ListAddedEventArgs() { List = myList, Item = myItem });
【讨论】:
您可以使用SelectedIndexChanged 或SelectedValueChanged 事件。
对于添加或删除项目,没有 .NET 事件,因此您必须自己实现该功能。 This SO post 解释了如何做到这一点。
祝你好运!
PS:我假设你使用的是Windows Forms
【讨论】: