如何在C#中删除所选项目

时间:2019-04-12 08:45:56

标签: c# wpf sqlite

我创建一个名为listBoxobj的列表视图。我想基于所选列表视图删除列表视图,但是现在的问题是,删除列表视图时将按索引而不是所选项目删除。

这是针对在Visual Studio中运行SQLite的应用程序

我已经尝试使用此代码,但保持失败

foreach ( ListViewItem eachItem in listBoxobj.SelectedItems)
{
    listBoxobj.Items.Remove(eachItem);
}

我希望所选的列表视图将被删除,而不是被索引删除的列表视图

private void DeleteMV_Click(object sender, RoutedEventArgs e)
{
    DatabaseHelperMV_Meriam delete = new DatabaseHelperMV_Meriam();
    x = listBoxobj.SelectedItems;//this line keep getting error
    delete.DeleteId(x);
    Frame.Navigate(typeof(MV_MeriamViewData));
}

1 个答案:

答案 0 :(得分:2)

对于WinForms:

您可以使用以下方法删除列表视图中的选定项目:

listBoxobj.SelectedItems[0].Remove();

您拥有的这段代码:

foreach ( ListViewItem eachItem in listBoxobj.SelectedItems)
{
   listBoxobj.Items.Remove(eachItem);
}

如果您有multiselect = true ...已得到纠正,但是如果您有multiselect = false,请使用以下命令:listBoxobj.SelectedItems[0].Remove();

对于WPF:

private void ListView_SelectionChanged(object sender, SelectionChangedEventArgs e)
{     
    var selected = listBoxobj.SelectedItems.Cast<Object>().ToArray();
    foreach (var item in selected)
    {
        listBoxobj.Items.Remove(item);
    }
}