protected override void OnPaint(System.Windows.Forms.PaintEventArgs e)
        {
            Bitmap   B = new Bitmap(Width, Height);
            Graphics G = Graphics.FromImage(B);

            base.OnPaint(e);

            G.Clear(BackColor);

            //G.CompositingQuality = CompositingQuality.HighQuality
            G.SmoothingMode = SmoothingMode.HighQuality;

            switch (State)
            {
            case MouseState.None:
                LinearGradientBrush mlgb = new LinearGradientBrush(MinBtn, Color.FromArgb(66, 67, 70), Color.FromArgb(43, 44, 48), 90);
                G.FillPath(mlgb, Draw.RoundRect(MinBtn, 4));
                G.DrawPath(new Pen(Color.FromArgb(21, 21, 21), 1), Draw.RoundRect(MinBtn, 4));
                Font       mf  = new Font("Marlett", 9);
                SolidBrush mfb = new SolidBrush(Color.FromArgb(174, 195, 30));
                G.DrawString("0", mf, mfb, 4, 4);

                LinearGradientBrush lgb = new LinearGradientBrush(MaxBtn, Color.FromArgb(66, 67, 70), Color.FromArgb(43, 44, 48), 90);
                G.FillPath(lgb, Draw.RoundRect(MaxBtn, 4));
                G.DrawPath(new Pen(Color.FromArgb(21, 21, 21), 1), Draw.RoundRect(MaxBtn, 4));
                Font       f  = new Font("Marlett", 9);
                SolidBrush fb = new SolidBrush(Color.FromArgb(174, 195, 30));
                G.DrawString("r", f, fb, 28, 4);
                break;

            case MouseState.Over:
                if (X > 0 && X < 20)
                {
                    LinearGradientBrush mlgb1 = new LinearGradientBrush(MinBtn, Color.FromArgb(100, 66, 67, 70), Color.FromArgb(100, 43, 44, 48), 90);
                    G.FillPath(mlgb1, Draw.RoundRect(MinBtn, 4));
                    G.DrawPath(new Pen(Color.FromArgb(21, 21, 21), 1), Draw.RoundRect(MinBtn, 4));
                    Font       mf1  = new Font("Marlett", 9);
                    SolidBrush mfb1 = new SolidBrush(Color.FromArgb(174, 195, 30));
                    G.DrawString("0", mf1, mfb1, 4, 4);

                    LinearGradientBrush lgb1 = new LinearGradientBrush(MaxBtn, Color.FromArgb(66, 67, 70), Color.FromArgb(43, 44, 48), 90);
                    G.FillPath(lgb1, Draw.RoundRect(MaxBtn, 4));
                    G.DrawPath(new Pen(Color.FromArgb(21, 21, 21), 1), Draw.RoundRect(MaxBtn, 4));
                    Font       f1  = new Font("Marlett", 9);
                    SolidBrush fb1 = new SolidBrush(Color.FromArgb(174, 195, 30));
                    G.DrawString("r", f1, fb1, 28, 4);
                }
                else if (X > 25 && X < 45)
                {
                    LinearGradientBrush mlgb1 = new LinearGradientBrush(MinBtn, Color.FromArgb(66, 67, 70), Color.FromArgb(43, 44, 48), 90);
                    G.FillPath(mlgb1, Draw.RoundRect(MinBtn, 4));
                    G.DrawPath(new Pen(Color.FromArgb(21, 21, 21), 1), Draw.RoundRect(MinBtn, 4));
                    Font       mf1  = new Font("Marlett", 9);
                    SolidBrush mfb1 = new SolidBrush(Color.FromArgb(174, 195, 30));
                    G.DrawString("0", mf1, mfb1, 4, 4);

                    LinearGradientBrush lgb1 = new LinearGradientBrush(MaxBtn, Color.FromArgb(100, 66, 67, 70), Color.FromArgb(100, 43, 44, 48), 90);
                    G.FillPath(lgb1, Draw.RoundRect(MaxBtn, 4));
                    G.DrawPath(new Pen(Color.FromArgb(21, 21, 21), 1), Draw.RoundRect(MaxBtn, 4));
                    Font       f1  = new Font("Marlett", 9);
                    SolidBrush fb1 = new SolidBrush(Color.FromArgb(174, 195, 30));
                    G.DrawString("r", f1, fb1, 28, 4);
                }
                else
                {
                    LinearGradientBrush mlgb1 = new LinearGradientBrush(MinBtn, Color.FromArgb(66, 67, 70), Color.FromArgb(43, 44, 48), 90);
                    G.FillPath(mlgb1, Draw.RoundRect(MinBtn, 4));
                    G.DrawPath(new Pen(Color.FromArgb(21, 21, 21), 1), Draw.RoundRect(MinBtn, 4));
                    Font       mf1  = new Font("Marlett", 9);
                    SolidBrush mfb1 = new SolidBrush(Color.FromArgb(174, 195, 30));
                    G.DrawString("0", mf1, mfb1, 4, 4);

                    LinearGradientBrush lgb1 = new LinearGradientBrush(MaxBtn, Color.FromArgb(66, 67, 70), Color.FromArgb(43, 44, 48), 90);
                    G.FillPath(lgb1, Draw.RoundRect(MaxBtn, 4));
                    G.DrawPath(new Pen(Color.FromArgb(21, 21, 21), 1), Draw.RoundRect(MaxBtn, 4));
                    Font       f1  = new Font("Marlett", 9);
                    SolidBrush fb1 = new SolidBrush(Color.FromArgb(174, 195, 30));
                    G.DrawString("r", f1, fb1, 28, 4);
                }
                break;

            case MouseState.Down:
                LinearGradientBrush mlgb2 = new LinearGradientBrush(MinBtn, Color.FromArgb(66, 67, 70), Color.FromArgb(43, 44, 48), 90);
                G.FillPath(mlgb2, Draw.RoundRect(MinBtn, 4));
                G.DrawPath(new Pen(Color.FromArgb(21, 21, 21), 1), Draw.RoundRect(MinBtn, 4));
                Font       mf2  = new Font("Marlett", 9);
                SolidBrush mfb2 = new SolidBrush(Color.FromArgb(174, 195, 30));
                G.DrawString("0", mf2, mfb2, 4, 4);

                LinearGradientBrush lgb2 = new LinearGradientBrush(MaxBtn, Color.FromArgb(66, 67, 70), Color.FromArgb(43, 44, 48), 90);
                G.FillPath(lgb2, Draw.RoundRect(MaxBtn, 4));
                G.DrawPath(new Pen(Color.FromArgb(21, 21, 21), 1), Draw.RoundRect(MaxBtn, 4));
                Font       f2  = new Font("Marlett", 9);
                SolidBrush fb2 = new SolidBrush(Color.FromArgb(174, 195, 30));
                G.DrawString("r", f2, fb2, 28, 4);
                break;

            default:
                LinearGradientBrush mlgb3 = new LinearGradientBrush(MinBtn, Color.FromArgb(66, 67, 70), Color.FromArgb(43, 44, 48), 90);
                G.FillPath(mlgb3, Draw.RoundRect(MinBtn, 4));
                G.DrawPath(new Pen(Color.FromArgb(21, 21, 21), 1), Draw.RoundRect(MinBtn, 4));
                Font       mf3  = new Font("Marlett", 9);
                SolidBrush mfb3 = new SolidBrush(Color.FromArgb(174, 195, 30));
                G.DrawString("0", mf3, mfb3, 4, 4);

                LinearGradientBrush lgb3 = new LinearGradientBrush(MaxBtn, Color.FromArgb(66, 67, 70), Color.FromArgb(43, 44, 48), 90);
                G.FillPath(lgb3, Draw.RoundRect(MaxBtn, 4));
                G.DrawPath(new Pen(Color.FromArgb(21, 21, 21), 1), Draw.RoundRect(MaxBtn, 4));
                Font       f3  = new Font("Marlett", 9);
                SolidBrush fb3 = new SolidBrush(Color.FromArgb(174, 195, 30));
                G.DrawString("r", f3, fb3, 28, 4);
                break;
            }


            e.Graphics.DrawImage((Bitmap)B.Clone(), 0, 0);
            G.Dispose();
            B.Dispose();
        }