0

私はC#が初めてです。私のプロジェクトには、ListBox と ListView の 2 つのコントロールがあります。

ListBox --> lbxEmpName
ListView --> lvEmpDetails

以下のコードを試しました:

     if (lvEmpDetails.Items.Count > 0)
       {
           for (int intCount = 0; intCount < lbxEmpName.Items.Count; intCount++)
           {
              for (int intSubCount = 0; intSubCount < lvEmpDetails.Items.Count; intSubCount++)
              {
                 if (lvEmpDetails.Items[intSubCount].Equals(lbxEmpName.Items[intCount]))
                 {
                    lbxEmpName.Items.Remove(lbxEmpName.Items[intCount]);
                 }
              }
           }
       }

上記のコードを実行すると、ListView アイテムと ListBox アイテムの間に一致はありません (実際には、一致するものがいくつかあるはずです)。コードをデバッグすると、次のようなことがわかりSelectedItemましItemsた 。コードで何か間違ったことをしていますか? 提案してください。
SelectedItem = ""Items

ここに画像の説明を入力 ここに画像の説明を入力

4

2 に答える 2

2

ListViewItemsには type のオブジェクトが含まれていますListViewItem。したがって、それらを ListBox のオブジェクトと比較しても意味がありませんItems
それらのテキストを比較したい場合は、次のように記述する必要があります。

if (lvEmpDetails.Items[intSubCount].Text == (string)lbxEmpName.Items[intCount])
{
     // Do something here
}

ListViewItemは複数のサブアイテムを持つことができ、そのTextプロパティはそのデータの最初の列を返すことに注意してください。

于 2012-10-25T08:29:47.213 に答える
1

オブジェクト自体ではなく、比較する文字列値を比較します。

于 2012-10-25T08:29:13.163 に答える