c#添加字符串列表到组合框,当项被删除时自动影响列表
本文关键字:列表 删除 影响 字符串 添加 组合 | 更新日期: 2023-09-27 18:15:23
我想将列表中的所有字符串添加到组合框中,当其中一个项目从ui中删除时,希望自动对列表产生影响(该列表也删除了那些选定的字符串)。
对于这类问题最好的技术是什么?
的例子:
List<string> users = new List<string>(){ "frsUser", "secUser", "thrUser", "fouUser" };
private void frmMain_Load(object sender, EventArgs e)
{
foreach(var user in users)
cmbUser.Items.Add(user);
}
private void btnRemove_Click(object sender, EventArgs e)
{
cmbUser.Items.RemoveAt(cmbUser.SelectedIndex);
// Should it be removed also here?
users.RemoveAt(cmbUser.SelectedIndex);
}
这可以很容易地完成使用BindingSource
来处理您的Combobox项目集合和列表之间的交互
private void frmMain_Load(object sender, EventArgs e)
{
BindingSource bs = new BindingSource();
bs.DataSource = users;
c.DataSource = bs;
}
现在在按钮单击事件使用此代码
private void btnRemove_Click(object sender, EventArgs e)
{
if(c.SelectedIndex == -1)
return;
BindingSource bs = c.DataSource as BindingSource;
bs.RemoveAt(c.SelectedIndex);
// Just to show the updated list
foreach(string u in users)
Console.WriteLine(u);
}