Exemplo n.º 1
0
        protected internal virtual void Paint(Graphics graphics, Rectangle clipBounds, Rectangle rowBounds, int rowIndex, DataGridViewElementStates rowState, bool isFirstDisplayedRow, bool isLastVisibleRow)
        {
            DataGridViewCellStyle style;

            if (Index == -1)
            {
                style = DataGridView.RowsDefaultCellStyle;
            }
            else
            {
                style = InheritedStyle;
            }

            DataGridViewRowPrePaintEventArgs pre = new DataGridViewRowPrePaintEventArgs(DataGridView, graphics, clipBounds, rowBounds, rowIndex, rowState, string.Empty, style, isFirstDisplayedRow, isLastVisibleRow);

            pre.PaintParts = DataGridViewPaintParts.All;

            DataGridView.OnRowPrePaint(pre);

            // The user has elected for us to not do anything
            if (pre.Handled)
            {
                return;
            }

            if (DataGridView.RowHeadersVisible)
            {
                PaintHeader(graphics, pre.ClipBounds, rowBounds, rowIndex, rowState, isFirstDisplayedRow, isLastVisibleRow, pre.PaintParts);
            }

            PaintCells(graphics, pre.ClipBounds, rowBounds, rowIndex, rowState, isFirstDisplayedRow, isLastVisibleRow, pre.PaintParts);

            DataGridViewRowPostPaintEventArgs post = new DataGridViewRowPostPaintEventArgs(DataGridView, graphics, pre.ClipBounds, rowBounds, rowIndex, rowState, pre.ErrorText, style, isFirstDisplayedRow, isLastVisibleRow);

            DataGridView.OnRowPostPaint(post);
        }