void OrderList_ItemCheck(object sender, ItemCheckEventArgs e) { if (e.NewValue != CheckState.Checked || _suspendCheckEvent) { return; } _suspendCheckEvent = true; var item = Items[e.Index]; //取消其它订单的选择 CheckedItems.Cast <OrderTicketListViewItem>() .Where(s => s.Group != item.Group) .ToArray().ForEach(s => s.Checked = false); //如果是未完成订单,则同时选择 var titem = (item as OrderTicketListViewItem).Ticket; if (titem.OrderStatus == OrderStatus.NotPay || titem.OrderStatus == OrderStatus.ResignNotPaid || titem.OrderStatus == OrderStatus.Queue) { Items.Cast <OrderTicketListViewItem>() .Where(s => s != item && s.Group == item.Group) .ForEach(s => s.Checked = true); } _suspendCheckEvent = false; }
public long sumChecked() { return( CheckedItems .Cast <ListViewItem>() .Select(i => ((KeyValuePair <String, List <IDownloadableResourceFile> >)(i.Tag)).Value[0].size) .Sum() ); }
public IList <Tuple <IDownloadableResourceFile, String> > listChecked() { return( CheckedItems .Cast <ListViewItem>() .Select( (i) => { KeyValuePair <String, List <IDownloadableResourceFile> > kvp = (KeyValuePair <String, List <IDownloadableResourceFile> >)(i.Tag); return (new Tuple <IDownloadableResourceFile, String>(kvp.Value[0], kvp.Key)); } ) .ToList() ); }
private void ListView_KeyDown(object sender, KeyEventArgs e) { FocusedItemKeyDown = FocusedItem; // Check selected items when Shift Up/Down if ((Control.ModifierKeys & Keys.Shift) == Keys.Shift) { if (e.KeyCode == Keys.Down || e.KeyCode == Keys.Up) { FocusedItem.Checked = !FocusedItem.Checked; } } //Check all items if ((Control.ModifierKeys & Keys.Control) == Keys.Control) { if (e.KeyCode == Keys.A || e.KeyCode == Keys.Add) { foreach (ListViewItem item in Items.Cast <ListViewItem>()) { item.Checked = true; } } //Uncheck all items if (e.KeyCode == Keys.Subtract) { foreach (ListViewItem item in CheckedItems.Cast <ListViewItem>()) { item.Checked = false; } } //Invert all items if (e.KeyCode == Keys.Multiply) { foreach (ListViewItem item in Items.Cast <ListViewItem>()) { item.Checked = !item.Checked; } } } }
public IEnumerable <T> GetCheckedItemsAsIEnumerable() { return(CheckedItems.Cast <T>().ToList()); }