【发布时间】:2012-05-27 01:29:28
【问题描述】:
我已阅读此解决方案:How do I make a ListBox refresh its item text?
但是当对象的属性发生变化时,我仍然无法让 listBox 中显示的文本更新。
public partial class Form1 : Form
{
public BindingList<Channel> chanList = new BindingList<Channel>();
private void Form1_Load(object sender, EventArgs e)
{
lbChannels.DisplayMember = "Display";
lbChannels.DataSource = chanList;
}
}
public class Channel
{
public string Display
{
get
{
return ToString();
}
}
public override string ToString()
{
if(!unread || DateTime.Now.Second % 2 == 0)
return Name;
return "";
}
}
这里的目标是如果列表框中有未读数据,则使频道名称在列表框中闪烁,但是当我测试它时没有任何反应。我也试过调用 lbChannels.Refresh() 和 lbChannels.Update()。
我一定错过了什么,但我不知道是什么。另一个线程中的解决方案似乎太简单了,但我已经看过好几次了,我找不到与 listBox 相关的任何其他内容。我在这里错过了什么?
【问题讨论】:
-
如果你要让它闪烁,你能不能让它发出响亮的声音并变成亮黄色?
-
你对绑定的理解在很多层面上都是错误的,以至于很难知道从哪里开始解释......
标签: c#