예제 #1
0
 private Color GetRowNumberBackgroundColor(TreeListRowNumberRenderEventArgs e)
 {
     if (e.DrawState == DrawState.Selected)
     {
         return(e.TreeList.Focused ? SystemColors.Highlight : SystemColors.ButtonFace);
     }
     else
     {
         return(Color.FromArgb(252, 252, 252));
     }
 }
예제 #2
0
        /// <summary>
        /// 绘制行号。
        /// </summary>
        /// <param name="e"></param>
        public virtual void DrawRowNumber(TreeListRowNumberRenderEventArgs e)
        {
            using (var brush = new SolidBrush(GetRowNumberBackgroundColor(e)))
            {
                e.Graphics.FillRectangle(brush, e.Bounds);
            }

            var flags = TextFormatFlags.EndEllipsis | TextFormatFlags.VerticalCenter | TextFormatFlags.PreserveGraphicsClipping | TextFormatFlags.HorizontalCenter;

            TextRenderer.DrawText(e.Graphics, e.Index.ToString(), e.TreeList.Font, e.Bounds, Color.Black, flags);
        }
예제 #3
0
        private void DrawRowNumber(TreeListRowNumberRenderEventArgs e, bool setClip = true)
        {
            e.Graphics.KeepClip(_bound.WorkBound, () =>
            {
                Renderer.DrawRowNumber(e);

                if (e.TreeList.ShowGridLines)
                {
                    Renderer.DrawCellGridLines(e.Graphics, e.Bounds);
                }
            }, setClip);
        }
예제 #4
0
        /// <summary>
        /// 绘制行号。
        /// </summary>
        /// <param name="e"></param>
        public virtual void DrawRowNumber(TreeListRowNumberRenderEventArgs e)
        {
            using (var brush = new SolidBrush(GetRowNumberBackgroundColor(e)))
            {
                e.Graphics.FillRectangle(brush, e.Bounds);
            }

            var flags = TextFormatFlags.EndEllipsis | TextFormatFlags.VerticalCenter | TextFormatFlags.PreserveGraphicsClipping | TextFormatFlags.HorizontalCenter;

            var color = e.DrawState == DrawState.Selected && e.TreeList.Focused ? SystemColors.Window : SystemColors.WindowText;

            TextRenderer.DrawText(e.Graphics, e.Index.ToString(), e.TreeList.Font, e.Bounds, color, flags);
        }
예제 #5
0
        private void DrawItem(TreeListItemRenderEventArgs e, bool setClip = true)
        {
            e.Graphics.KeepClip(_bound.ItemBound, () =>
            {
                Renderer.DrawItem(e);
                DrawCells(e.Graphics, e.Item.Cells, e.Bounds, e.DrawState);
            }, setClip);

            if (ShowRowNumber)
            {
                var e3 = new TreeListRowNumberRenderEventArgs(this, RowNumberIndex + e.Item.DataIndex, e.Graphics, new Rectangle(_bound.WorkBound.X, e.Bounds.Y, RowNumberWidth, e.Bounds.Height));

                e.Graphics.KeepClip(_bound.RowNumberBound, () =>
                {
                    e3.DrawState = e.DrawState;
                    DrawRowNumber(e3);
                });
            }
        }