1

リストボックスで選択したアイテムを削除できるようにするコードを次に示します。

    ListBox.SelectedObjectCollection selectedItems = new ListBox.SelectedObjectCollection(lstOutput);
    selectedItems = lstOutput.SelectedItems;

    if (lstOutput.SelectedIndex != -1)
    {
        for (int i = selectedItems.Count - 1; i >= 0; i--)
            lstOutput.Items.Remove(selectedItems[i]);
    }
    else
        MessageBox.Show("Debe seleccionar un email");

問題は、出力が何であるかを示すラベルが上部にあることです。ページの下部に統計もあります。現在のコードでは、不要なものを削除できます。これらが削除されないようにする方法がわかりません。

4

1 に答える 1

1

まず第一に、fire 行は不要で、最初の 2 行を次のように結合できます。

ListBox.SelectedObjectCollection selectedItems = lstOutput.SelectedItems;

保持したいアイテムを削除します。条件を作ることができます。

for (int i = selectedItems.Count - 1; i >= 0; i--)
{
     if(selectedItems[i] is /*here is where you come and check if the current selected item is of the type you don't want to delete*/)
            lstOutput.Items.Remove(selectedItems[i]);
}

「上部のラベル」と「下部の統計」のタイプを教えていただければ、答えに入れます

編集

あなたができると言ったのと同じように:

List<object> fixedItems = new List<object>();
fixedItems.Add(/*Your labels and statistics*/);

そして、する

for (int i = selectedItems.Count - 1; i >= 0; i--)
{
     if(fixedItems.Contains(selectedItems[i]) == false)
            lstOutput.Items.Remove(selectedItems[i]);
}

追加する必要があるリストについて

using System.Collections.Generic;

ページの先頭に

于 2013-09-16T08:11:30.627 に答える