/// <summary>
 /// 绘制项的边框
 /// </summary>
 /// <param name="g"></param>
 /// <param name="bounds"></param>
 internal virtual void DrawItemBorder(Graphics g, Rectangle bounds, SEListViewItem item)
 {
     if (item.Hovered || item.Selected)
     {
         using (Pen pWhite128 = new Pen(Color.FromArgb(128, Theme.ItemBorderColor)))
         {
             ImageListViewUtility.DrawRoundedRectangle(g, pWhite128, bounds.Left, bounds.Top, bounds.Width - 1, bounds.Height - 1, _radius);
         }
     }
 }
        /// <summary>
        /// 绘制项
        /// </summary>
        /// <param name="g"></param>
        /// <param name="item"></param>
        /// <param name="state"></param>
        /// <param name="bounds"></param>
        internal virtual void DrawItem(Graphics g, SEListViewItem item)
        {
            Rectangle bounds = LayoutManager.GetItemBounds(item);

            g.SetClip(bounds);

            DrawItemBackground(g, bounds);

            // Paint background Selected
            if ((LayoutManager.Focused && ((item.State & ListViewItemState.Selected) == ListViewItemState.Selected)) ||
                (LayoutManager.Focused == false && ((item.State & ListViewItemState.Selected) == ListViewItemState.Selected) && ((item.State & ListViewItemState.Hovered) == ListViewItemState.Hovered)))
            {
                using (Brush bSelected = new LinearGradientBrush(bounds, Theme.SelectedColorStart, Theme.SelectedColorEnd, LinearGradientMode.Vertical))
                {
                    ImageListViewUtility.FillRoundedRectangle(g, bSelected, bounds, 4);
                }
            }
            // Paint background unfocused
            else if (LayoutManager.Focused == false && ((item.State & ListViewItemState.Selected) == ListViewItemState.Selected))
            {
                using (Brush bGray64 = new LinearGradientBrush(bounds, Theme.UnFocusedColorStart, Theme.UnFocusedColorEnd, LinearGradientMode.Vertical))
                {
                    ImageListViewUtility.FillRoundedRectangle(g, bGray64, bounds, 4);
                }
            }

            // Paint background Hovered
            //如果正处于框选状态,不绘制Hover状态,减小闪烁
            if (LayoutManager.MouseSelecting == false && (item.State & ListViewItemState.Hovered) == ListViewItemState.Hovered)
            {
                using (Brush bHovered = new LinearGradientBrush(bounds, Theme.HoverColorStart, Theme.HoverColorEnd, LinearGradientMode.Vertical))
                {
                    ImageListViewUtility.FillRoundedRectangle(g, bHovered, bounds, 4);
                }
            }

            DrawItemBorder(g, bounds, item);

            // Focus rectangle
            if (LayoutManager.Focused && ((item.State & ListViewItemState.Focused) == ListViewItemState.Focused))
            {
                ControlPaint.DrawFocusRectangle(g, bounds);
            }

            DrawItemContent(g, bounds, item);
        }