3
これはVS2015コミュニティのVB.NET 4.5プロジェクト用です。リストボックスから選択した項目を削除する方法
リストボックスから特定の選択項目を削除しようとしましたが、選択した項目が条件を満たす場合にのみ表示されます。選択したアイテムを削除する方法の例がたくさん見つかりました。しかし、選択された項目を通過するループにネストされた条件で動作するものはありません(少なくとも、私がしようとしているもので動作する例は得られません...)
ここに私のコードです:
Dim somecondition As Boolean = True
Dim folder As String
For i As Integer = 0 To lstBoxFoldersBackingUp.SelectedItems.Count - 1
If somecondition = True Then
folder = lstBoxFoldersBackingUp.SelectedItems.Item(i)
Console.WriteLine("folder: " & folder)
lstBoxFoldersBackingUp.SelectedItems.Remove(lstBoxFoldersBackingUp.SelectedItems.Item(i))
End If
Next
コンソール出力には、現在のイテレーションアイテムのテキストが正しく表示されますが、Remove()を機能させることができません。コードが今のように、私はコンソール出力を取得しますが、リストボックスは変更されません。
なぜ親指が有効な質問のように思えますか? – codeMonger123
@ codeMonger123私はdownvoteしなかった - 私は手伝ってみました。 :-) – LarsTech
それは動作しますが、**どのように**?リストボックスの2番目の項目だけを選択してRemove()行に行くと、 'i'の値はselecteditemsコレクション内の唯一の項目であるため0になります。したがって、Remove()メソッドに0の値を渡しています。これはリストボックスのItemsコレクションの最初のアイテムになります。 – marky