示例#1
0
        /// <summary>
        /// Draw the borders of the specified cell.
        /// </summary>
        /// <param name="p_Cell"></param>
        /// <param name="p_CellPosition"></param>
        /// <param name="e">Paint arguments</param>
        /// <param name="p_ClientRectangle">Rectangle position where draw the current cell, relative to the current view,</param>
        /// <param name="p_Status"></param>
        protected override void DrawCell_Border(Cells.ICellVirtual p_Cell,
                                                Position p_CellPosition,
                                                PaintEventArgs e,
                                                Rectangle p_ClientRectangle,
                                                DrawCellStatus p_Status)
        {
            RectangleBorder l_Border = Border;

            l_Border.SetColor(BorderColor);
            if (p_Status == DrawCellStatus.Focus)
            {
                l_Border = FocusBorder;
            }
            else if (p_Status == DrawCellStatus.Selected)
            {
                l_Border = SelectionBorder;
            }

            ControlPaint.DrawBorder(e.Graphics, p_ClientRectangle,
                                    l_Border.Left.Color,
                                    l_Border.Left.Width,
                                    ButtonBorderStyle.Solid,
                                    l_Border.Top.Color,
                                    l_Border.Top.Width,
                                    ButtonBorderStyle.Solid,
                                    l_Border.Right.Color,
                                    l_Border.Right.Width,
                                    ButtonBorderStyle.Solid,
                                    l_Border.Bottom.Color,
                                    l_Border.Bottom.Width,
                                    ButtonBorderStyle.Solid);
        }