我想創建一個簡單的列表框,它綁定到一個鏈接列表。 該列表在任何給定時間只能保存5個項目。 添加新項目時,應檢查項目數>= 5
,然後刪除最後一個項目並將新項目添加到頂部。只保留列表框中的5個項目
要做到這一點,我做了這個測試程序:
public partial class Form1 : Form
{
LinkedList<string> list01 = new LinkedList<string>();
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
list01.AddFirst("AAA");
list01.AddFirst("BBB");
list01.AddFirst("CCC");
listBox1.DataSource = new BindingSource(list01, "");
}
private void button1_Click(object sender, EventArgs e)
{
if (list01.Count >= 5)
list01.RemoveLast();
list01.AddFirst(DateTime.Now.ToString());
listBox1.DataSource = new BindingSource(list01, "");
}
}
它的出現,當過我添加一個新的項目,我必須保持數據源設置爲一個新的BindingSource所添加的項目上顯示UI
有沒有辦法初始化一個綁定源,當其中的項目發生變化時,自動更新列表框而不必在每次添加新項目時都設置數據源?
是否有一個理由,爲什麼你不能用'的BindingList'或'的ObservableCollection '?或者你不知道他們? –
我知道'BindingList',並且知道它沒有我想要的方法'AddTop'和'RemoveLast' –
Latheesan
如何從'BindingList'中移除最後一項並將項目添加到上/第一? –
Latheesan