示例#1
0
        protected override void OnPaint(PaintEventArgs e)
        {
            Bitmap    B     = new Bitmap(Width, Height);
            Graphics  G     = Graphics.FromImage(B);
            Rectangle Body  = new Rectangle(4, 25, Width - 9, Height - 30);
            Rectangle Body2 = new Rectangle(0, 0, Width - 1, Height - 1);

            base.OnPaint(e);
            G.Clear(Color.Transparent);
            G.SmoothingMode      = SmoothingMode.HighQuality;
            G.CompositingQuality = CompositingQuality.HighQuality;

            Pen P1 = new Pen(Color.Black);
            LinearGradientBrush BodyBrush  = new LinearGradientBrush(Body2, _BodyColorA, _BodyColorB, 90);
            LinearGradientBrush BodyBrush2 = new LinearGradientBrush(Body, _BodyColorC, _BodyColorD, 120);
            Font drawFont = new Font("Tahoma", 9, FontStyle.Bold);

            G.FillPath(BodyBrush, DrawThunder.RoundRect(Body2, 3));
            G.DrawPath(P1, DrawThunder.RoundRect(Body2, 3));

            G.FillPath(BodyBrush2, DrawThunder.RoundRect(Body, 3));
            G.DrawPath(P1, DrawThunder.RoundRect(Body, 3));

            G.DrawString(Text, drawFont, new SolidBrush(ForeColor), 67, 14, new StringFormat()
            {
                Alignment = StringAlignment.Center, LineAlignment = StringAlignment.Center
            });
            e.Graphics.DrawImage((Image)B.Clone(), 0, 0);
            G.Dispose();
            B.Dispose();
        }
示例#2
0
        protected override void OnPaint(PaintEventArgs e)
        {
            Bitmap    B = new Bitmap(Width, Height);
            Graphics  G = Graphics.FromImage(B);
            Rectangle ClientRectangle = new Rectangle(0, 0, Width - 1, Height - 1);

            base.OnPaint(e);
            G.Clear(BackColor);
            Font drawFont = new Font("Tahoma", 8, FontStyle.Bold);

            G.SmoothingMode = SmoothingMode.HighQuality;
            Rectangle           R1     = new Rectangle(0, 0, Width - 125, 35 / 2);
            Rectangle           R2     = new Rectangle(5, Height - 10, Width - 11, 5);
            Rectangle           R3     = new Rectangle(6, Height - 9, Width - 13, 3);
            Rectangle           R4     = new Rectangle(1, 1, Width - 3, Height - 3);
            Rectangle           R5     = new Rectangle(1, 0, Width - 1, Height - 1);
            Rectangle           R6     = new Rectangle(0, -1, Width - 1, Height - 1);
            LinearGradientBrush lgb    = new LinearGradientBrush(ClientRectangle, Color.FromArgb(66, 67, 70), Color.FromArgb(43, 44, 48), 90);
            LinearGradientBrush botbar = new LinearGradientBrush(R2, Color.FromArgb(44, 45, 49), Color.FromArgb(45, 46, 50), 90);
            LinearGradientBrush fill   = new LinearGradientBrush(R3, Color.FromArgb(174, 195, 30), Color.FromArgb(141, 153, 16), 90);
            LinearGradientBrush gloss  = null;
            Pen          o             = new Pen(Color.FromArgb(50, 50, 50), 1);
            StringFormat format        = new StringFormat()
            {
                Alignment = StringAlignment.Center, LineAlignment = StringAlignment.Center
            };

            if (State == MouseStateThunder.Over)
            {
                gloss = new LinearGradientBrush(R1, Color.FromArgb(15, Color.FromArgb(26, 26, 26)), Color.FromArgb(1, 255, 255, 255), 90);
            }
            else if (State == MouseStateThunder.Down)
            {
                gloss = new LinearGradientBrush(R1, Color.FromArgb(100, Color.FromArgb(26, 26, 26)), Color.FromArgb(1, 255, 255, 255), 90);
            }
            else
            {
                gloss = new LinearGradientBrush(R1, Color.FromArgb(75, Color.FromArgb(26, 26, 26)), Color.FromArgb(3, 255, 255, 255), 90);
            }

            G.FillPath(lgb, DrawThunder.RoundRect(ClientRectangle, 2));
            G.FillPath(gloss, DrawThunder.RoundRect(ClientRectangle, 2));
            G.FillPath(botbar, DrawThunder.RoundRect(R2, 1));
            G.FillPath(fill, DrawThunder.RoundRect(R3, 1));
            G.DrawPath(o, DrawThunder.RoundRect(ClientRectangle, 2));
            G.DrawPath(Pens.Black, DrawThunder.RoundRect(R4, 2));
            G.DrawString(Text, drawFont, new SolidBrush(Color.FromArgb(5, 5, 5)), R5, format);
            G.DrawString(Text, drawFont, new SolidBrush(ForeColor), R6, format);

            e.Graphics.DrawImage((Image)B.Clone(), 0, 0);
            G.Dispose();
            B.Dispose();
        }
        protected override void OnPaint(PaintEventArgs e)
        {
            Bitmap   B = new Bitmap(Width, Height);
            Graphics G = Graphics.FromImage(B);

            G.SmoothingMode = SmoothingMode.HighQuality;

            double val      = (double)_Value / _Maximum;
            int    intValue = Convert.ToInt32(val * Width);

            G.Clear(BackColor);
            Color               C1  = Color.FromArgb(174, 195, 30);
            Color               C2  = Color.FromArgb(141, 153, 16);
            Rectangle           R1  = new Rectangle(0, 0, Width - 1, Height - 1);
            Rectangle           R2  = new Rectangle(0, 0, intValue - 1, Height - 1);
            Rectangle           R3  = new Rectangle(0, 0, intValue - 1, Height - 2);
            GraphicsPath        GP1 = DrawThunder.RoundRect(R1, 1);
            GraphicsPath        GP2 = DrawThunder.RoundRect(R2, 2);
            GraphicsPath        GP3 = DrawThunder.RoundRect(R3, 1);
            LinearGradientBrush gB  = new LinearGradientBrush(R1, Color.FromArgb(26, 26, 26), Color.FromArgb(30, 30, 30), 90);
            LinearGradientBrush g1  = new LinearGradientBrush(new Rectangle(2, 2, intValue - 1, Height - 2), C1, C2, 90);
            HatchBrush          h1  = new HatchBrush(HatchStyle.DarkUpwardDiagonal, Color.FromArgb(50, C1), Color.FromArgb(25, C2));
            Pen P1 = new Pen(Color.Black);

            G.FillPath(gB, GP1);
            G.FillPath(g1, GP3);
            G.FillPath(h1, GP3);
            G.DrawPath(P1, GP1);
            G.DrawPath(new Pen(Color.FromArgb(150, 97, 94, 90)), GP2);
            G.DrawPath(P1, GP2);

            if (_ShowPercentage)
            {
                G.DrawString(Convert.ToString(string.Concat(Value, "%")), Font, new SolidBrush(ForeColor), R1, new StringFormat {
                    Alignment = StringAlignment.Center, LineAlignment = StringAlignment.Center
                });
            }

            e.Graphics.DrawImage((Image)B.Clone(), 0, 0);
            G.Dispose();
            B.Dispose();
        }
        protected override void OnPaint(PaintEventArgs e)
        {
            Bitmap   B = new Bitmap(Width, Height);
            Graphics G = Graphics.FromImage(B);

            base.OnPaint(e);
            G.Clear(BackColor);
            G.SmoothingMode = SmoothingMode.HighQuality;

            LinearGradientBrush mlgb = null;
            Font         mf          = new Font("Marlett", 9);
            SolidBrush   mfb         = new SolidBrush(ForeColor);
            Pen          P1          = new Pen(Color.FromArgb(21, 21, 21), 1);
            Color        C1          = Color.FromArgb(66, 67, 70);
            Color        C2          = Color.FromArgb(43, 44, 48);
            GraphicsPath GP1         = DrawThunder.RoundRect(MinBtn, 4);
            GraphicsPath GP2         = DrawThunder.RoundRect(MaxBtn, 4);
            GraphicsPath GP3         = DrawThunder.RoundRect(ClsBtn, 4);

            switch (State)
            {
            case MouseStateThunder.None:
                mlgb = new LinearGradientBrush(MinBtn, C1, C2, 90);
                G.FillPath(mlgb, GP1);
                G.DrawPath(P1, GP1);
                G.DrawString("0", mf, mfb, 4, 4);

                if (FindForm().WindowState == FormWindowState.Normal)
                {
                    G.FillPath(mlgb, GP2);
                    G.DrawPath(P1, GP2);
                    G.DrawString("1", mf, mfb, 28, 4);
                }
                else
                {
                    G.FillPath(mlgb, GP2);
                    G.DrawPath(P1, GP2);
                    G.DrawString("2", mf, mfb, 28, 4);
                }

                G.FillPath(mlgb, GP3);
                G.DrawPath(P1, GP3);
                G.DrawString("r", mf, mfb, 52, 4);
                break;

            case MouseStateThunder.Over:
                if (x > 0 && x < 20)
                {
                    mlgb = new LinearGradientBrush(MinBtn, Color.FromArgb(100, C1), Color.FromArgb(100, C2), 90);
                    G.FillPath(mlgb, GP1);
                    G.DrawPath(P1, GP1);
                    G.DrawString("0", mf, mfb, 4, 4);

                    if (FindForm().WindowState == FormWindowState.Normal)
                    {
                        mlgb = new LinearGradientBrush(MaxBtn, C1, C2, 90);
                        G.FillPath(mlgb, DrawThunder.RoundRect(MaxBtn, 4));
                        G.DrawPath(P1, GP2);
                        G.DrawString("1", mf, mfb, 28, 4);
                    }
                    else
                    {
                        mlgb = new LinearGradientBrush(MaxBtn, C1, C2, 90);
                        G.FillPath(mlgb, DrawThunder.RoundRect(MaxBtn, 4));
                        G.DrawPath(P1, GP2);
                        G.DrawString("2", mf, mfb, 28, 4);
                    }

                    mlgb = new LinearGradientBrush(ClsBtn, C1, C2, 90);
                    G.FillPath(mlgb, DrawThunder.RoundRect(ClsBtn, 4));
                    G.DrawPath(P1, GP3);
                    G.DrawString("r", mf, mfb, 52, 4);

                    Cursor = Cursors.Hand;
                }
                else if (x > 25 && x < 45)
                {
                    mlgb = new LinearGradientBrush(MinBtn, C1, C2, 90);
                    G.FillPath(mlgb, GP1);
                    G.DrawPath(P1, GP1);
                    G.DrawString("0", mf, mfb, 4, 4);

                    if (FindForm().WindowState == FormWindowState.Normal)
                    {
                        mlgb = new LinearGradientBrush(MaxBtn, Color.FromArgb(100, C1), Color.FromArgb(100, C2), 90);
                        G.FillPath(mlgb, GP2);
                        G.DrawPath(P1, GP2);
                        G.DrawString("1", mf, mfb, 28, 4);
                    }
                    else
                    {
                        mlgb = new LinearGradientBrush(MaxBtn, Color.FromArgb(100, C1), Color.FromArgb(100, C2), 90);
                        G.FillPath(mlgb, GP2);
                        G.DrawPath(P1, GP2);
                        G.DrawString("2", mf, mfb, 28, 4);
                    }

                    mlgb = new LinearGradientBrush(ClsBtn, C1, C2, 90);
                    G.FillPath(mlgb, GP3);
                    G.DrawPath(P1, GP3);
                    G.DrawString("r", mf, mfb, 52, 4);

                    Cursor = Cursors.Hand;
                }
                else if (x > 50 && x < 70)
                {
                    mlgb = new LinearGradientBrush(MinBtn, C1, C2, 90);
                    G.FillPath(mlgb, GP1);
                    G.DrawPath(P1, GP1);
                    G.DrawString("0", mf, mfb, 4, 4);

                    if (FindForm().WindowState == FormWindowState.Normal)
                    {
                        mlgb = new LinearGradientBrush(MaxBtn, C1, C2, 90);
                        G.FillPath(mlgb, GP2);
                        G.DrawPath(P1, GP2);
                        G.DrawString("1", mf, mfb, 28, 4);
                    }
                    else
                    {
                        mlgb = new LinearGradientBrush(MaxBtn, C1, C2, 90);
                        G.FillPath(mlgb, GP2);
                        G.DrawPath(P1, GP2);
                        G.DrawString("2", mf, mfb, 28, 4);
                    }

                    mlgb = new LinearGradientBrush(ClsBtn, Color.FromArgb(100, C1), Color.FromArgb(100, C2), 90);
                    G.FillPath(mlgb, GP3);
                    G.DrawPath(P1, GP3);
                    G.DrawString("r", mf, mfb, 52, 4);

                    Cursor = Cursors.Hand;
                }
                else
                {
                    mlgb = new LinearGradientBrush(MinBtn, C1, C2, 90);
                    G.FillPath(mlgb, GP1);
                    G.DrawPath(P1, GP1);
                    G.DrawString("0", mf, mfb, 4, 4);

                    if (FindForm().WindowState == FormWindowState.Normal)
                    {
                        LinearGradientBrush lgb1 = new LinearGradientBrush(MaxBtn, C1, C2, 90);
                        G.FillPath(lgb1, GP2);
                        G.DrawPath(P1, GP2);
                        G.DrawString("1", mf, mfb, 28, 4);
                    }
                    else
                    {
                        LinearGradientBrush lgb1 = new LinearGradientBrush(MaxBtn, C1, C2, 90);
                        G.FillPath(lgb1, GP2);
                        G.DrawPath(P1, GP2);
                        G.DrawString("2", mf, mfb, 28, 4);
                    }

                    LinearGradientBrush lgb2 = new LinearGradientBrush(ClsBtn, C1, C2, 90);
                    G.FillPath(lgb2, GP3);
                    G.DrawPath(P1, GP3);
                    G.DrawString("r", mf, mfb, 52, 4);

                    Cursor = Cursors.Default;
                }
                break;

            case MouseStateThunder.Down:
                mlgb = new LinearGradientBrush(MinBtn, C1, C2, 90);
                G.FillPath(mlgb, GP1);
                G.DrawPath(P1, GP1);
                G.DrawString("0", mf, mfb, 4, 4);

                if (FindForm().WindowState == FormWindowState.Normal)
                {
                    mlgb = new LinearGradientBrush(MaxBtn, C1, C2, 90);
                    G.FillPath(mlgb, GP2);
                    G.DrawPath(P1, GP2);
                    G.DrawString("1", mf, mfb, 28, 4);
                }
                else
                {
                    mlgb = new LinearGradientBrush(MaxBtn, C1, C2, 90);
                    G.FillPath(mlgb, GP2);
                    G.DrawPath(P1, GP2);
                    G.DrawString("2", mf, mfb, 28, 4);
                }

                mlgb = new LinearGradientBrush(ClsBtn, C1, C2, 90);
                G.FillPath(mlgb, GP3);
                G.DrawPath(P1, GP3);
                G.DrawString("r", mf, mfb, 52, 4);

                Cursor = Cursors.Default;
                break;

            default:
                mlgb = new LinearGradientBrush(MinBtn, C1, C2, 90);
                G.FillPath(mlgb, GP1);
                G.DrawPath(P1, GP1);
                G.DrawString("0", mf, mfb, 4, 4);

                if (FindForm().WindowState == FormWindowState.Normal)
                {
                    mlgb = new LinearGradientBrush(MaxBtn, C1, C2, 90);
                    G.FillPath(mlgb, GP2);
                    G.DrawPath(P1, GP2);
                    G.DrawString("1", mf, mfb, 28, 4);
                }
                else
                {
                    mlgb = new LinearGradientBrush(MaxBtn, C1, C2, 90);
                    G.FillPath(mlgb, GP2);
                    G.DrawPath(P1, GP2);
                    G.DrawString("2", mf, mfb, 28, 4);
                }

                mlgb = new LinearGradientBrush(ClsBtn, C1, C2, 90);
                G.FillPath(mlgb, GP3);
                G.DrawPath(P1, GP3);
                G.DrawString("r", mf, mfb, 52, 4);

                Cursor = Cursors.Default;
                break;
            }
            e.Graphics.DrawImage((Image)B.Clone(), 0, 0);
            G.Dispose();
            B.Dispose();
        }
示例#5
0
        protected override void OnPaint(PaintEventArgs e)
        {
            Bitmap    B        = new Bitmap(Width, Height);
            Graphics  G        = Graphics.FromImage(B);
            Rectangle TopLeft  = new Rectangle(0, 0, Width - 125, 28);
            Rectangle TopRight = new Rectangle(Width - 82, 0, 81, 28);
            Rectangle Body     = new Rectangle(10, 10, Width - 21, Height - 16);
            Rectangle Body2    = new Rectangle(5, 5, Width - 11, Height - 6);

            base.OnPaint(e);
            LinearGradientBrush BodyBrush  = new LinearGradientBrush(Body2, _BodyColorA, _BodyColorB, 90);
            LinearGradientBrush BodyBrush2 = new LinearGradientBrush(Body, _BodyColorC, _BodyColorD, 120);
            LinearGradientBrush gloss      = new LinearGradientBrush(new Rectangle(0, 0, Width - 128, 28 / 2), Color.FromArgb(240, Color.FromArgb(26, 26, 26)), Color.FromArgb(5, 255, 255, 255), 90);
            LinearGradientBrush gloss2     = new LinearGradientBrush(new Rectangle(Width - 82, 0, Width - 205, 28 / 2), Color.FromArgb(240, Color.FromArgb(26, 26, 26)), Color.FromArgb(5, 255, 255, 255), 90);
            LinearGradientBrush mainbrush1 = new LinearGradientBrush(TopLeft, Color.FromArgb(26, 26, 26), Color.FromArgb(30, 30, 30), 90);
            LinearGradientBrush mainbrush2 = new LinearGradientBrush(TopRight, Color.FromArgb(26, 26, 26), Color.FromArgb(30, 30, 30), 90);
            Pen  P1       = new Pen(Color.FromArgb(174, 195, 30), 2);
            Font drawFont = new Font("Tahoma", 10, FontStyle.Bold);

            G.Clear(Color.Fuchsia);
            G.FillPath(BodyBrush, DrawThunder.RoundRect(Body2, 3));
            G.DrawPath(Pens.Black, DrawThunder.RoundRect(Body2, 3));

            G.FillPath(BodyBrush2, DrawThunder.RoundRect(Body, 3));
            G.DrawPath(Pens.Black, DrawThunder.RoundRect(Body, 3));

            G.FillPath(mainbrush1, DrawThunder.RoundRect(TopLeft, 3));
            G.FillPath(gloss, DrawThunder.RoundRect(TopLeft, 3));
            G.DrawPath(Pens.Black, DrawThunder.RoundRect(TopLeft, 3));

            G.FillPath(mainbrush2, DrawThunder.RoundRect(TopRight, 3));
            G.FillPath(gloss2, DrawThunder.RoundRect(TopRight, 3));
            G.DrawPath(Pens.Black, DrawThunder.RoundRect(TopRight, 3));

            if (_Image == null)
            {
                G.DrawLine(P1, 14, 9, 14, 22);
                G.DrawLine(P1, 17, 6, 17, 25);
                G.DrawLine(P1, 20, 9, 20, 22);
                G.DrawLine(P1, 11, 12, 11, 19);
                G.DrawLine(P1, 23, 12, 23, 19);
                G.DrawLine(P1, 8, 14, 8, 17);
                G.DrawLine(P1, 26, 14, 26, 17);
                G.DrawString(base.Text, drawFont, new SolidBrush(ForeColor), new Rectangle(32, 1, Width - 1, 27), new StringFormat()
                {
                    Alignment = StringAlignment.Near, LineAlignment = StringAlignment.Center
                });
            }
            else
            {
                G.DrawImage(_Image, 11, 2, 25, 25);
                G.DrawString(base.Text, drawFont, new SolidBrush(ForeColor), new Rectangle(45, 1, Width - 1, 27), new StringFormat()
                {
                    Alignment = StringAlignment.Near, LineAlignment = StringAlignment.Center
                });
            }

            e.Graphics.DrawImage((Image)B.Clone(), 0, 0);

            G.Dispose();
            B.Dispose();
        }