繁体   English   中英

将ListView.Items.Count绑定到标签的一种方法(Windows窗体)

[英]One way binding ListView.Items.Count to a label (windows forms)

我有一个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的自定义类)?

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

编辑

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

因此,恐怕这里可用的唯一选项实际上是对ListView进行子类化。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM