2011-03-14 2394 views
0

当我的ListBox.Items.Count发生更改时,我想更新/调用某个函数。除了ListBox或删除的项目,如何触发一个函数?当ListBox.Item的大小发生变化时触发事件

+0

如何添加/删除项目?你应该把逻辑连接到那里。 – Robert 2011-03-14 12:37:10

+0

我已经链接列表框与AsyncBindingList。哪个更新列表框上的项目。但是当物品数量发生变化时,不知道如何捕捉。谢谢。 – Harsha 2011-03-14 12:42:24

+0

它应该有事件AddingNew/ListChanged,那处理那些呢? – Robert 2011-03-14 12:50:11

回答

0

由于我使用的是AsyncBindingList,并且它正在后台工作线程上运行。 AsyncBindingList连接到我的ListBox。所以当我的Worker线程完成它的工作时,它将更新AsyncBindingList作为回报,它将更新我在表单上的列表框。

但是在列表框中添加项目时,我正在寻找调用更新其他控件的方法。所以,最后我得到了解决方案。

解决方案是当工作线程完成它的工作时,它会调用RunWorkerCompletedEventHandler。当它通过RunWorkerCompletedEventHandler调用方法时,我触发了Forms.Invoke方法,该方法在表单类中触发了一个方法,它将inturn更新所有控件。

但我真的不知道这是做到这一点的最好方法。如果你有任何建议。请作为答复发布。

1

此操作没有任何事件。你要么需要执行下列操作之一:(?OK,但为什么)

  1. 使拉动这一信息,并提醒用户(吮吸)
  2. 覆盖一个列表框线程和揭露这些使事件
  3. 简单地在地方添加你需要的代码中添加和删除的列表框(大多数人做的)

真的,我认为3是要走的路。

+0

我找到了解决方案,查看我的答案 – Harsha 2011-03-15 09:29:45

相关问题