当用户点击ListBox时,从ListBox中删除一个Item

时间:2014-01-04 15:14:49

标签: c# listbox

我只想删除用户点击它的ListBox中的项目:

   private void found_SelectedIndexChanged(object sender, EventArgs e)
    {
        found.SelectedItems.Remove(found.SelectedItem);
    }

但它只是显示了一眨眼的选择而没有别的!假设我有一个列表:

  word1
  word2
  word3
  word4

在列表框中,当用户点击word2时,它应该被删除!我是c#的新手,任何人都可以提前告诉我如何做到这一点!

4 个答案:

答案 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);