我只想删除用户点击它的ListBox中的项目:
private void found_SelectedIndexChanged(object sender, EventArgs e)
{
found.SelectedItems.Remove(found.SelectedItem);
}
但它只是显示了一眨眼的选择而没有别的!假设我有一个列表:
word1
word2
word3
word4
在列表框中,当用户点击word2时,它应该被删除!我是c#的新手,任何人都可以提前告诉我如何做到这一点!
答案 0 :(得分:1)
因为您从SelectedItems
删除了它(删除了选择,而不是项目本身)。您想要从Items
中删除。
答案 1 :(得分:0)
found.Items.Remove(found.SelectedItem);
答案 2 :(得分:0)
假设您将ListBox
的数据源存储在通用List<string>
中。当用户单击某个项目时,将其从数据源中删除,然后执行以下操作: -
private void Item_Clicked(object sender, EventArgs e)
{
string item = listBox.SelectedItem.ToString() ;
list_name = list_name.Where(x=>
{
if(x != item)
return true ;
else
return false ;
}.ToList() ;
listBox.DataSource = null ;
listBox.DataSource = list_name;
// listBox is the name of your `ListBox`.
// list_name is your original list.
}
说明: -
首先,我将“选定项目”的值存储在一个名为item
的变量中
然后我使用LINQ将前一个列表的所有内容传送到另一个列表
之后,我更改了DataSource
的{{1}},以便更新。
答案 3 :(得分:0)
if( found.SelectedIndex <> -1 )
found.Items.RemoveAt(found.SelectedIndex);