/// <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; }
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(); } }
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; } } } }
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()); }
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); } }
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"); } }