예제 #1
0
        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;
        }
예제 #2
0
 public long sumChecked()
 {
     return(
         CheckedItems
         .Cast <ListViewItem>()
         .Select(i => ((KeyValuePair <String, List <IDownloadableResourceFile> >)(i.Tag)).Value[0].size)
         .Sum()
         );
 }
예제 #3
0
 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()
         );
 }
예제 #4
0
        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;
                    }
                }
            }
        }
예제 #5
0
 public IEnumerable <T> GetCheckedItemsAsIEnumerable()
 {
     return(CheckedItems.Cast <T>().ToList());
 }