У меня есть ListBox
, в котором перечислены все файлы .mp3
в каталоге.Программа позволяет пользователю выбирать некоторые из этих .mp3
файлов и легко редактировать теги ID3 (свойства файла - например, исполнитель, альбом, название и т. Д.).Однако я не могу найти способ получить массив из всех элементов, выбранных пользователем, а не только одного.
Я видел, как получить один выбранный элемент(listBox.SelectedValue
), но у меня часто будет более одного выбранного элемента, поскольку я использую MultiSimple
для свойства режима выбора (что позволяет мне выбирать несколько элементов, а не только один).Насколько я вижу, нет способа сделать что-то вроде listBox.SelectedValue[2]
или listBox.Item.IndexOf(2).Selected()
.
string[] selectedItems = new string[allMusicBox.SelectedItems.Count];
// A count of how many items have been added to the selected items array
int addedSelectedItems = 0;
for (int i = 0; i < allMusicBox.Items.Count; i++) {
if (allMusicBox.Items.IndexOf(i).Selected) {
selectedItems[addedSelectedItems] = allMusicBox.Items.IndexOf(i).ToString();
addedSelectedItems++;
}
}
Этот код на самом деле не работает, но это соответствует тому, что я ищу.Мне интересно, как проверить, выбран ли этот элемент (в позиции 'i'), а затем, если он есть, добавить его в массив selectedItems.