[英]Removing an item from listbox in winform
我正在使用VS2010,C#、. Net 4.0和WinFormApplication。
我有一个从数据源填充的列表框。 我想在双击它们时一次删除它们。
我在某处读到,如果我从数据源填充列表框,则无法删除任何项目。 这是真的? 如果没有,那么我该如何删除单个物品?
我尝试了以下方法:
listbox1.Items.Remove(listbox1.SelectedIndex);
listbox1.Items.Remove(listbox1.SelectedIndex);
lbTableColumns.Items.Remove(lbTableColumns.SelectedItem);
导致以下错误:
错误:设置了DataSource属性后,无法修改项目集合。
使用DataBinding
,不能像错误状态一样从ListBox
删除项目。 如果对象在DataSource
更改但已从演示文稿中删除,将会发生什么情况?
如果您正在使用数据源,则需要从数据源本身中删除对象。 尝试这样的事情:
IList<MyObj> myList = new List<MyObj>();
private void DataBind()
{
myListBox.BeginUpdate();
myListBox.DataSource = myList;
myListBox.EndUpdate();
}
private void OnMyListBoxItemDoubleClicked(object sender, EventArgs e)
{
myList.RemoveAt(myListBox.SelectedIndex);
DataBind();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.