17/02/14 22:45:26.95 PdY4D7f4a.net
>>604
完璧じゃないけどこの辺で妥協?
IEnumerable<object> mPrevSelectedItems = new object[0];
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
var selectedItems = listBox1.SelectedItems.OfType<object>();
var removeCount = selectedItems.Count() - 5;
if (removeCount > 0)
{
var ex = selectedItems.Except(mPrevSelectedItems);
var skipCount = ex.Count() - removeCount;
if(skipCount >-1)
{
var items = ex.Skip(skipCount);
Array.ForEach(items.ToArray(), x => listBox1.SelectedItems.Remove(x));
}
}
mPrevSelectedItems = selectedItems.ToArray();
}
思ったより面倒くさいなあ