metodo di estensione:
public static List<ListItem> GetSelectedItems(this ListBox lst)
{
return lst.Items.OfType<ListItem>().Where(i => i.Selected).ToList();
}
si può chiamare sul tuo listbox come:
List<ListItem> selectedItems = myListBox.GetSelectedItems();
Si potrebbe anche fare la conversione con un 'cast' sulle voci casella di riepilogo come :
return lst.Items.Cast<ListItem>().Where(i => i.Selected).ToList();
Non sono sicuro che w mal performare meglio OfType
o Cast
(la mia impressione è Cast
).
Modifica sulla base del feedback di Ruben per un metodo ListControl generico che sarebbe davvero rendere metodo di estensione molto più utile:
public static List<ListItem> GetSelectedItems(this ListControl lst)
{
return lst.Items.OfType<ListItem>().Where(i => i.Selected).ToList();
}
Grazie! È grandioso – Jagd