Пример #1
0
        /// <summary>
        /// 实例化标签项(给定标题,给定是否自动排序)
        /// </summary>
        /// <param name="title">标题</param>
        /// <param name="isAutoSort">是否自动排序</param>
        public CloseableTabItem(string title, SortWay sortWay)
        {
            //设定样式
            this.Style = (Style)Application.Current.Resources["TabItemStyle"];
            //this.Style = (Style)Application.Current.Resources["TabItemStyleFlyMainTestZeng"];

            //生产一个可关闭的Header
            CloseableTabItemHeader ctih = createCloseableTabItem();

            //自动排序
            switch (sortWay)
            {
            case SortWay.IsAutoSort:
                break;

            case SortWay.NotSort:
                break;

            default:
                break;
            }
            //设定标题
            ctih.Title = title;
            //设定Header
            this.Header = ctih;
        }
Пример #2
0
 protected override void OnMouseUp(MouseEventArgs e)
 {
     base.OnMouseUp(e);
     if (type == Type.Default)
     {
         bool MouseCase1 = mousePoint.X < 30 + MNameLimit;
         bool ECase1     = (e.Location.X < 30 + MNameLimit) && (e.Location.X > 0);
         bool MouseCase2 = (mousePoint.X > 30 + MNameLimit) && (mousePoint.X < 30 + MNameLimit + MSingerLimit);
         bool ECase2     = (e.Location.X > 30 + MNameLimit) && (e.Location.X < 30 + MNameLimit + MSingerLimit);
         bool MouseCase3 = (mousePoint.X > 30 + MNameLimit + MSingerLimit);
         bool ECase3     = (e.Location.X > 30 + MNameLimit + MSingerLimit) && (e.Location.X < Width);
         if (MouseCase1 && !ECase1)
         {
             SortFlag = false;
         }
         else if (MouseCase2 && !ECase2)
         {
             SortFlag = false;
         }
         else if (MouseCase3 && !ECase3)
         {
             SortFlag = false;
         }
         else
         {
             sortWay  = TmpSortWay;
             SortFlag = true;
         }
         Invalidate();
     }
 }
Пример #3
0
        protected override void OnMouseDown(MouseEventArgs e)
        {
            base.OnMouseDown(e);
            if (type == Type.Default)
            {
                mousePoint = e.Location;
                SortFlag   = true;
                if (mousePoint.X < 30 + MNameLimit)
                {
                    switch (sortWay)
                    {
                    case SortWay.SortByNameAscend:
                        TmpSortWay = SortWay.SortByNameDescend;
                        break;

                    case SortWay.SortByNameDescend:
                        TmpSortWay = SortWay.Default;
                        break;

                    default:
                        TmpSortWay = SortWay.SortByNameAscend;
                        break;
                    }
                }
                else if (mousePoint.X < 30 + MNameLimit + MSingerLimit)
                {
                    switch (sortWay)
                    {
                    case SortWay.SortBySingerAscend:
                        TmpSortWay = SortWay.SortBySingerDescend;
                        break;

                    case SortWay.SortBySingerDescend:
                        TmpSortWay = SortWay.Default;
                        break;

                    default:
                        TmpSortWay = SortWay.SortBySingerAscend;
                        break;
                    }
                }
                else
                {
                    switch (sortWay)
                    {
                    case SortWay.SortByAlbumAscend:
                        TmpSortWay = SortWay.SortByAlbumDescend;
                        break;

                    case SortWay.SortByAlbumDescend:
                        TmpSortWay = SortWay.Default;
                        break;

                    default:
                        TmpSortWay = SortWay.SortByAlbumAscend;
                        break;
                    }
                }
            }
        }
Пример #4
0
        public static IEnumerable <T> Sort <T>(this IEnumerable <T> collection, SortWay way = SortWay.Ascending)
        {
            if (collection == null)
            {
                return(null);
            }

            return(way == SortWay.Ascending ?
                   collection.OrderBy(el => el).ToArray() :
                   collection.OrderBy(el => el).Reverse().ToArray());
        }
Пример #5
0
 public void SortBySomeWay() //排序方式
 {
     Console.ForegroundColor = ConsoleColor.DarkGray;
     if (orderList.Count == 0)
     {
         throw new Exception("Empty Order.\n");
     }
     else
     {
         SortWay input = serviceIo.SortBySomeWayIO(); //调用前端获取输出
         Unit.Sort(input, orderList);                 //调用算法单元排序
         //排序后显示?
         serviceIo.ShowAllOrdersOut(orderList);
     }
 }
Пример #6
0
        public void Sort(SortWay input, List <Order> orderList)//排序
        {
            switch (input)
            {
            case SortWay.ByNum:
                orderList.Sort((order1, order2) => (int)(order1.OrderNum - order2.OrderNum));
                break;

            case SortWay.ByDate:
                orderList.Sort((order1, order2) => DateTime.Compare(order1.orderTime, order2.orderTime));
                break;

            case SortWay.BySum:
                orderList.Sort((order1, order2) => order1.TotalSum.CompareTo(order2.TotalSum));
                break;

            default: throw new Exception("Invalid Sort Input");
            }
        }