Forex_Strategy_Builder.Data.GradientPaint C# (CSharp) Метод

GradientPaint() публичный статический Метод

Paints a rectangle with gradient
public static GradientPaint ( Graphics g, RectangleF rect, Color color, int depth ) : void
g System.Drawing.Graphics
rect System.Drawing.RectangleF
color Color
depth int
Результат void
        public static void GradientPaint(Graphics g, RectangleF rect, Color color, int depth)
        {
            if (rect.Width <= 0 || rect.Height <= 0)
                return;

            if (depth > 0 && Configs.GradientView)
            {
                Color color1 = GetGradientColor(color, +depth);
                Color color2 = GetGradientColor(color, -depth);
                RectangleF rect1 = new RectangleF(rect.X, rect.Y - 1, rect.Width, rect.Height + 2);
                LinearGradientBrush lgrdBrush = new LinearGradientBrush(rect1, color1, color2, 90);
                g.FillRectangle(lgrdBrush, rect);
            }
            else
            {
                g.FillRectangle(new SolidBrush(color), rect);
            }

            return;
        }

Usage Example

        /// <summary>
        /// On Paint
        /// </summary>
        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;
        }
All Usage Examples Of Forex_Strategy_Builder.Data::GradientPaint