0

我有一个ListView包含一些我需要执行一些操作的记录。我希望将这些记录计入执行按钮,因此按钮的 .Text 属性会显示“执行([items_count])”。

当然项目是由用户从列表中添加/删除的,所以我想刷新计数器。我正在考虑在添加/删除项目时添加一个要触发的事件,但我不想创建新的 listView 类 - 我希望它尽可能简单。

我尝试使用此代码,但失败了。我所做的是:

// in the form's code:
public string ItemsCount
{
    get { return String.Format("Execute ({0})", myListView.Items.Count); }
}

// in the form's constructor:
myButton.DataBindings.Add("Text", this, "ItemsCount");

而且它一直只显示“Execute {0)”。

是否有一个简单的解决方案,所以我不必更改现有对象(例如将myListView' 类更改为继承的自定义类ListView)?

4

1 回答 1

1

我认为一旦 ListView 中的 Items 集合发生更改,您需要提供某种更改通知。检查此链接以获取有关实施更改通知的帮助。

编辑

我已经整理了有关 WinForms ListView 的信息,看起来没有简单的方法可以检测何时更改 Items 集合。检查相关讨论

所以恐怕这里唯一可用的选择是实际继承ListView。

于 2013-02-21T10:21:26.707 回答