我有一個帶有ListBox的Windows窗體。窗體有這種方法Winforms綁定到列表框
public void SetBinding(BindingList<string> _messages)
{
BindingList<string> toBind = new BindingList<string>(_messages);
lbMessages.DataSource = toBind;
}
在其他地方,我有一類稱爲經理有此屬性
public BindingList<string> Messages { get; private set; }
和這條線在其構造
Messages = new BindingList<string>();
最後,我有我的啓動程序,實例化窗體和管理器,然後調用
form.SetBinding(manager.Messages);
還有什麼我必須這樣做,像這樣在經理聲明:
Messages.Add("blah blah blah...");
將導致添加到線,並在窗體的列表框立即顯示?
我根本沒必要這樣做。我只想讓我的經理類能夠在其工作時發佈到表單。
我試過了,但Manager中的Messages.Add語句不會更新lbMessages.DataSource;它的數量永遠不會從0移動。 –
@KellyCline我試着儘可能地模仿你的代碼,當我在Manager類中彈出消息時,ListBox自動顯示新消息。確保你引用的是同一個Manager類。否則,您可能需要更新您的文章以獲取更多信息。 – LarsTech