Beispiel #1
0
        public static void Draw(PaintArgs p, Rectangle r, BorderStyleSimple style, Color color)
        {
            Color color2;
            Color color3;
            Color color4;
            Color color5;

            if (color != SystemColors.Control)
            {
                color2 = iColors.Lighten2(color);
                color3 = iColors.Darken4(color);
                color4 = iColors.Lighten4(color);
                color5 = iColors.Darken2(color);
            }
            else
            {
                color2 = SystemColors.ControlLight;
                color3 = SystemColors.ControlDarkDark;
                color4 = SystemColors.ControlLightLight;
                color5 = SystemColors.ControlDark;
            }
            Color[] array = new Color[4];
            switch (style)
            {
            case BorderStyleSimple.Raised:
                array[0] = color2;
                array[1] = color3;
                array[2] = color4;
                array[3] = color5;
                break;

            case BorderStyleSimple.Sunken:
                array[0] = color5;
                array[1] = color4;
                array[2] = color3;
                array[3] = color2;
                break;

            case BorderStyleSimple.Bump:
                array[0] = color2;
                array[1] = color3;
                array[2] = color3;
                array[3] = color2;
                break;

            case BorderStyleSimple.Etched:
                array[0] = color5;
                array[1] = color4;
                array[2] = color4;
                array[3] = color5;
                break;

            case BorderStyleSimple.RaisedInner:
                array[0] = color4;
                array[1] = color5;
                break;

            case BorderStyleSimple.RaisedOuter:
                array[0] = color2;
                array[1] = color3;
                break;

            case BorderStyleSimple.SunkenInner:
                array[0] = color3;
                array[1] = color2;
                break;

            case BorderStyleSimple.SunkenOuter:
                array[0] = color5;
                array[1] = color4;
                break;

            case BorderStyleSimple.Flat:
                array[0] = Color.Black;
                array[1] = Color.Black;
                break;
            }
            Point[] borderUpperLeftPoints = BorderSimple.GetBorderUpperLeftPoints(p, r);
            p.Graphics.DrawLines(p.Graphics.Pen(array[0]), borderUpperLeftPoints);
            borderUpperLeftPoints = BorderSimple.GetBorderLowerRightPoints(p, r);
            p.Graphics.DrawLines(p.Graphics.Pen(array[1]), borderUpperLeftPoints);
            if (style != BorderStyleSimple.Raised && style != BorderStyleSimple.Sunken && style != BorderStyleSimple.Bump && style != BorderStyleSimple.Etched)
            {
                return;
            }
            r.Inflate(-1, -1);
            borderUpperLeftPoints = BorderSimple.GetBorderUpperLeftPoints(p, r);
            p.Graphics.DrawLines(p.Graphics.Pen(array[2]), borderUpperLeftPoints);
            borderUpperLeftPoints = BorderSimple.GetBorderLowerRightPoints(p, r);
            p.Graphics.DrawLines(p.Graphics.Pen(array[3]), borderUpperLeftPoints);
        }
Beispiel #2
0
        public static void Draw(PaintEventArgs p, Rectangle r, BorderStyleSimple style, Color color)
        {
            Color color2;
            Color color3;
            Color color4;
            Color color5;

            if (color != SystemColors.Control)
            {
                color2 = iColors.Lighten2(color);
                color3 = iColors.Darken4(color);
                color4 = iColors.Lighten4(color);
                color5 = iColors.Darken2(color);
            }
            else
            {
                color2 = SystemColors.ControlLight;
                color3 = SystemColors.ControlDarkDark;
                color4 = SystemColors.ControlLightLight;
                color5 = SystemColors.ControlDark;
            }
            Color[] array = new Color[4];
            if (style == BorderStyleSimple.Raised)
            {
                array[0] = color2;
                array[1] = color3;
                array[2] = color4;
                array[3] = color5;
            }
            else if (style == BorderStyleSimple.Sunken)
            {
                array[0] = color5;
                array[1] = color4;
                array[2] = color3;
                array[3] = color2;
            }
            else if (style == BorderStyleSimple.Bump)
            {
                array[0] = color2;
                array[1] = color3;
                array[2] = color3;
                array[3] = color2;
            }
            else if (style == BorderStyleSimple.Etched)
            {
                array[0] = color5;
                array[1] = color4;
                array[2] = color4;
                array[3] = color5;
            }
            else if (style == BorderStyleSimple.RaisedInner)
            {
                array[0] = color4;
                array[1] = color5;
            }
            else if (style == BorderStyleSimple.RaisedOuter)
            {
                array[0] = color2;
                array[1] = color3;
            }
            else if (style == BorderStyleSimple.SunkenInner)
            {
                array[0] = color3;
                array[1] = color2;
            }
            else if (style == BorderStyleSimple.SunkenOuter)
            {
                array[0] = color5;
                array[1] = color4;
            }
            else if (style == BorderStyleSimple.Flat)
            {
                array[0] = Color.Black;
                array[1] = Color.Black;
            }
            Point[] points = BorderSimple.GetBorderUpperLeftPoints(p, r);
            p.Graphics.DrawLines(new Pen(array[0]), points);
            points = BorderSimple.GetBorderLowerRightPoints(p, r);
            p.Graphics.DrawLines(new Pen(array[1]), points);
            if (style == BorderStyleSimple.Raised || style == BorderStyleSimple.Sunken || style == BorderStyleSimple.Bump || style == BorderStyleSimple.Etched)
            {
                r.Inflate(-1, -1);
                points = BorderSimple.GetBorderUpperLeftPoints(p, r);
                p.Graphics.DrawLines(new Pen(array[2]), points);

                points = BorderSimple.GetBorderLowerRightPoints(p, r);
                p.Graphics.DrawLines(new Pen(array[3]), points);
            }
        }