Возможно ли сделать ListBox.SelectedObjectCollection в ListBox.ObjectCollection в С#? Если да, то как мне это сделать?
У меня есть функция, которая принимает List<string>
.
Я могу передать оба SelectedItems и Items, отбросив их.
Попробуйте следующее:
SelectedItems.Cast<string>().ToList()
Items.Cast<string>().ToList()
<string>
может быть заменен другим типом объекта.
Это невозможно.
Вместо этого вы должны использовать IList
.
Оба эти типа реализуют IList
, поэтому вы можете передать один из них как IList
без какой-либо явной кастинга.
Если вы действительно этого захотите, вы можете создать новый ListBox.ObjectCollection
и добавить элементы из SelectedObjectCollection
.
ObjectCollection
.
Вот мой ответ: он работает для меня.
System.Windows.Forms.ListBox.SelectedObjectCollection lst =this.lstImage.SelectedItems;
List<string> selectedItems = new List<string>();
foreach (object obj in lst)
{
selectedItems.Add(obj.ToString());
}
Это мой ответ, который я использовал для преобразования поля "Проверено" в поле списка
CheckedListBox.CheckedItemCollection s= checkedListBox1.CheckedItems;
List<object> ns = new List<object>();
foreach (object ob in s)
{
ns.Add(ob);
}
listBox1.Items.AddRange(ns.ToArray());
List<YourDataType> YourDataTypeList = new List<YourDataType>();
for (int i = 0; i < lbVectors.SelectedItems.Count; i++)
{
YourDataType v = lbVectors.SelectedItems[i] as YourDataType;
YourDataTypeList .Add(v);
}