Forex_Strategy_Builder.Info_Panel.OnPaint C# (CSharp) Method

OnPaint() protected method

On Paint
protected OnPaint ( PaintEventArgs e ) : void
e PaintEventArgs
return void
        protected override void OnPaint(PaintEventArgs e)
        {
            Graphics g = e.Graphics;

            // Caption
            Data.GradientPaint(g, rectfCaption, colorCaptionBack, LayoutColors.DepthCaption);
            g.DrawString(caption, fontCaption, brushCaption, rectfCaption, stringFormatCaption);

            float y = captionHeight;
            for (int i = 0; i * rowHeight + captionHeight < height; i++)
            {
                float fVerticalPosition = i * rowHeight + captionHeight;
                PointF pointFParam = new PointF(paramTab + 2, fVerticalPosition);
                PointF pointFValue = new PointF(valueTab + 2, fVerticalPosition);
                RectangleF rectRow = new RectangleF(border, fVerticalPosition, width, rowHeight);

                // Row background
                if (i + vScrollBar.Value < rows && abFlag[i + vScrollBar.Value])
                    g.FillRectangle(new SolidBrush(colorBackroundWarningRow), rectRow);
                else if (i % 2f != 0)
                    g.FillRectangle(new SolidBrush(colorBackroundEvenRows), rectRow);
                else
                    g.FillRectangle(new SolidBrush(colorBackroundOddRows), rectRow);

                if (i + vScrollBar.Value >= rows)
                    continue;

                if (i + vScrollBar.Value < rows && abFlag[i + vScrollBar.Value])
                {
                    Brush brush = new SolidBrush(colorTextWarningRow);
                    Pen   pen   = new Pen(colorTextWarningRow);
                    g.DrawString(asParam[i + vScrollBar.Value], fontData, brush, pointFParam, stringFormatData);
                    g.DrawString(asValue[i + vScrollBar.Value], fontData, brush, pointFValue, stringFormatData);
                }
                else
                {
                    g.DrawString(asParam[i + vScrollBar.Value], fontData, brushParams, pointFParam, stringFormatData);
                    g.DrawString(asValue[i + vScrollBar.Value], fontData, brushData,   pointFValue, stringFormatData);
                }
            }

            // Border
            g.DrawLine(penBorder, 1, captionHeight, 1, ClientSize.Height);
            g.DrawLine(penBorder, ClientSize.Width - border + 1, captionHeight, ClientSize.Width - border + 1, ClientSize.Height);
            g.DrawLine(penBorder, 0, ClientSize.Height - border + 1, ClientSize.Width, ClientSize.Height - border + 1);

            return;
        }