我想将列表中的所有字符串添加到组合框,并且当从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
处理您的组合框项目集合和列表之间的交互的轻松完成此操作
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);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句