THE_LORD

Pale Theme

Jan 11th, 2017
253
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 68.12 KB | None | 0 0
  1. /// <summary>
  2. /// Pale Theme
  3. /// Author : THE LORD
  4. /// Release Date : Thursday, January 12, 2017
  5. /// Last Update : Friday, January 13, 2017
  6. /// HF Account : https://hackforums.net/member.php?action=profile&uid=3304362
  7. /// PM Me for any bug.
  8. /// </summary>
  9.  
  10. #region Namespaces
  11.  
  12. using System;
  13. using System.Collections.Generic;
  14. using System.ComponentModel;
  15. using System.Diagnostics;
  16. using System.Drawing;
  17. using System.Drawing.Drawing2D;
  18. using System.Linq;
  19. using System.Text;
  20. using System.Threading;
  21. using System.Threading.Tasks;
  22. using System.Windows.Forms;
  23.  
  24. #endregion
  25.  
  26. #region Helper Methods
  27.  
  28. public class HelperMethods
  29. {
  30.  
  31.     public GraphicsPath GP = null;
  32.  
  33.     public enum MouseMode
  34.     {
  35.         NormalMode,
  36.         Hovered,
  37.         Pushed
  38.     };
  39.  
  40.     public void DrawImageFromBase64(Graphics G, string Base64Image, Rectangle Rect)
  41.     {
  42.         Image IM = null;
  43.         using (System.IO.MemoryStream ms = new System.IO.MemoryStream(Convert.FromBase64String(Base64Image)))
  44.         {
  45.             IM = System.Drawing.Image.FromStream(ms);
  46.         }
  47.         G.DrawImage(IM, Rect);
  48.     }
  49.  
  50.     public GraphicsPath RoundRec(Rectangle r, int Curve, bool TopLeft = true, bool TopRight = true, bool BottomLeft = true, bool BottomRight = true)
  51.     {
  52.         GraphicsPath CreateRoundPath = new GraphicsPath(FillMode.Winding);
  53.         if (TopLeft)
  54.         {
  55.             CreateRoundPath.AddArc(r.X, r.Y, Curve, Curve, 180f, 90f);
  56.         }
  57.         else
  58.         {
  59.             CreateRoundPath.AddLine(r.X, r.Y, r.X, r.Y);
  60.         }
  61.         if (TopRight)
  62.         {
  63.             CreateRoundPath.AddArc(r.Right - Curve, r.Y, Curve, Curve, 270f, 90f);
  64.         }
  65.         else
  66.         {
  67.             CreateRoundPath.AddLine(r.Right - r.Width, r.Y, r.Width, r.Y);
  68.         }
  69.         if (BottomRight)
  70.         {
  71.             CreateRoundPath.AddArc(r.Right - Curve, r.Bottom - Curve, Curve, Curve, 0f, 90f);
  72.         }
  73.         else
  74.         {
  75.             CreateRoundPath.AddLine(r.Right, r.Bottom, r.Right, r.Bottom);
  76.  
  77.         }
  78.         if (BottomLeft)
  79.         {
  80.             CreateRoundPath.AddArc(r.X, r.Bottom - Curve, Curve, Curve, 90f, 90f);
  81.         }
  82.         else
  83.         {
  84.             CreateRoundPath.AddLine(r.X, r.Bottom, r.X, r.Bottom);
  85.         }
  86.         CreateRoundPath.CloseFigure();
  87.         return CreateRoundPath;
  88.     }
  89.  
  90.     public void FillRoundedPath(Graphics G, Color C, Rectangle Rect, int Curve)
  91.     {
  92.         G.FillPath(new SolidBrush(C), RoundRec(Rect, Curve));
  93.     }
  94.  
  95.     public void FillRoundedPath(Graphics G, Brush B, Rectangle Rect, int Curve)
  96.     {
  97.         G.FillPath(B, RoundRec(Rect, Curve));
  98.     }
  99.  
  100.     public void DrawRoundedPath(Graphics G, Color C, Single Size, Rectangle Rect, int Curve)
  101.     {
  102.         G.DrawPath(new Pen(C, Size), RoundRec(Rect, Curve));
  103.  
  104.     }
  105.  
  106.     public void DrawTriangle(Graphics G, Color C, Single Size, Point P1_0, Point P1_1, Point P2_0, Point P2_1, Point P3_0, Point P3_1)
  107.     {
  108.  
  109.         G.DrawLine(new Pen(C, Size), P1_0, P1_1);
  110.         G.DrawLine(new Pen(C, Size), P2_0, P2_1);
  111.         G.DrawLine(new Pen(C, Size), P3_0, P3_1);
  112.  
  113.     }
  114.  
  115.     public Pen PenRGBColor(int R, int G, int B, Single size)
  116.     { return new Pen(System.Drawing.Color.FromArgb(R, G, B), size); }
  117.  
  118.     public Pen PenHTMlColor(String C_WithoutHash, float Thick)
  119.     { return new Pen(GetHTMLColor(C_WithoutHash), Thick); }
  120.  
  121.     public SolidBrush SolidBrushRGBColor(int R, int G, int B, int A = 0)
  122.     { return new SolidBrush(System.Drawing.Color.FromArgb(A, R, G, B)); }
  123.  
  124.     public SolidBrush SolidBrushHTMlColor(String C_WithoutHash)
  125.     { return new SolidBrush(GetHTMLColor(C_WithoutHash)); }
  126.  
  127.     public Color GetHTMLColor(String C_WithoutHash)
  128.     { return ColorTranslator.FromHtml("#" + C_WithoutHash); }
  129.  
  130.     public String ColorToHTML(Color C)
  131.     { return ColorTranslator.ToHtml(C); }
  132.  
  133.     public Color SetARGB(int A, int R, int G, int B)
  134.     { return System.Drawing.Color.FromArgb(A, R, G, B); }
  135.  
  136.     public Color SetRGB(int R, int G, int B)
  137.     { return System.Drawing.Color.FromArgb(R, G, B); }
  138.    
  139.     public void CentreString(Graphics G, String Text, Font font, Brush brush, Rectangle Rect)
  140.     { G.DrawString(Text, font, brush, new Rectangle(0, Rect.Y, Rect.Width, Rect.Height), new StringFormat() { Alignment = StringAlignment.Center, LineAlignment = StringAlignment.Center });}
  141.  
  142.  
  143.     public void LeftString(Graphics G, String Text, Font font, Brush brush, Rectangle Rect)
  144.     {
  145.         G.DrawString(Text, font, brush, new Rectangle(4, Rect.Y + Convert.ToInt32(Rect.Height / 2) - Convert.ToInt32(G.MeasureString(Text, font).Height / 2) + 0, Rect.Width, Rect.Height), new StringFormat { Alignment = StringAlignment.Near });
  146.     }
  147.  
  148.     public void RightString(Graphics G, string Text, Font font, Brush brush, Rectangle Rect)
  149.     {
  150.         G.DrawString(Text, font, brush, new Rectangle(4, Convert.ToInt32(Rect.Y + (Rect.Height / 2) - (G.MeasureString(Text, font).Height / 2)), Rect.Width - Rect.Height + 10, Rect.Height), new StringFormat { Alignment = StringAlignment.Far });
  151.     }
  152. }
  153.  
  154. #endregion
  155.  
  156. #region Form
  157.  
  158. public class PaleSkin : ContainerControl
  159. {
  160.  
  161.     #region    Variables
  162.  
  163.     bool Movable = false;
  164.     private TitlePostion _TitleTextPostion = TitlePostion.Left;
  165.     private Point MousePoint = new Point(0, 0);
  166.     private int MoveHeight = 50;
  167.     private static HelperMethods H = new HelperMethods();
  168.  
  169.     #endregion
  170.  
  171.     #region Draw Control
  172.  
  173.     protected override void OnPaint(PaintEventArgs e)
  174.     {
  175.         using (Bitmap B = new Bitmap(Width, Height))
  176.         using (Graphics G = Graphics.FromImage(B))
  177.         {
  178.  
  179.             G.Clear(Color.Fuchsia);
  180.             G.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
  181.             Rectangle R = new Rectangle(-1, -1, Width, Height);
  182.             using (LinearGradientBrush LGB = new LinearGradientBrush(R, H.GetHTMLColor("f7f7f7"), Color.White, 90.0F))
  183.             {
  184.                 H.FillRoundedPath(G, LGB, R, 12);
  185.                 H.DrawRoundedPath(G, H.GetHTMLColor("f7f7f7"), 2, R, 12);
  186.                 G.DrawLine(H.PenHTMlColor("dadada", Convert.ToSingle(1.5)), new Point(12, 55), new Point(Width - 20, 55));
  187.             }
  188.  
  189.             if (FindForm().ShowIcon)
  190.             {
  191.                 if (FindForm().Icon != null)
  192.                 {
  193.                     switch (TitleTextPostion)
  194.                     {
  195.                         case TitlePostion.Left:
  196.                             G.DrawString(Text, Font, H.SolidBrushHTMlColor("2e8fc7"), 27, 14);
  197.                             G.DrawIcon(FindForm().Icon, new Rectangle(6, 17, 20, 20));
  198.                             break;
  199.                         case TitlePostion.Center:
  200.                             H.CentreString(G, Text, Font, H.SolidBrushHTMlColor("2e8fc7"), new Rectangle(0, 0, Width, 50));
  201.                             G.DrawIcon(FindForm().Icon, new Rectangle(5, 17, 20, 20));
  202.                             break;
  203.                         case TitlePostion.Right:
  204.                             H.RightString(G, Text, Font, H.SolidBrushHTMlColor("2e8fc7"), new Rectangle(0, 0, Width, 50));
  205.                             G.DrawIcon(FindForm().Icon, new Rectangle(Width - 30, 17, 20, 20));
  206.                             break;
  207.                     }
  208.                 }
  209.  
  210.             }
  211.             else
  212.             {
  213.                 switch (TitleTextPostion)
  214.                 {
  215.                     case TitlePostion.Left:
  216.                         G.DrawString(Text, Font, H.SolidBrushHTMlColor("2e8fc7"), 5, 14);
  217.                         break;
  218.                     case TitlePostion.Center:
  219.                         H.CentreString(G, Text, Font, H.SolidBrushHTMlColor("2e8fc7"), new Rectangle(0, 0, Width, 50));
  220.                         break;
  221.                     case TitlePostion.Right:
  222.                         H.RightString(G, Text, Font, H.SolidBrushHTMlColor("2e8fc7"), new Rectangle(0, 0, Width, 50));
  223.                         break;
  224.                 }
  225.             }
  226.             e.Graphics.DrawImage(B, 0, 0);
  227.             G.Dispose();
  228.             B.Dispose();
  229.         }
  230.     }
  231.  
  232.     #endregion
  233.  
  234.     #region  Initialization
  235.  
  236.     public PaleSkin()
  237.     {
  238.  
  239.         SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint | ControlStyles.OptimizedDoubleBuffer | ControlStyles.ResizeRedraw | ControlStyles.SupportsTransparentBackColor | ControlStyles.ContainerControl, true);
  240.         DoubleBuffered = true;
  241.         BackColor = Color.Transparent;
  242.         Font = new Font("Segoe UI", 14, FontStyle.Bold);
  243.         UpdateStyles();
  244.  
  245.     }
  246.  
  247.     #endregion
  248.  
  249.     #region  Properties
  250.  
  251.     private bool _ShowIcon = false;
  252.     public bool ShowIcon
  253.     {
  254.         get { return _ShowIcon; }
  255.         set
  256.         {
  257.             if (value == _ShowIcon) { return; }
  258.             FindForm().ShowIcon = value;
  259.             Invalidate();
  260.             _ShowIcon = value;
  261.  
  262.         }
  263.     }
  264.  
  265.  
  266.     public TitlePostion TitleTextPostion
  267.     {
  268.         get { return _TitleTextPostion; }
  269.  
  270.         set
  271.         {
  272.             _TitleTextPostion = value;
  273.             Invalidate();
  274.         }
  275.  
  276.     }
  277.  
  278.  
  279.     public enum TitlePostion
  280.     {
  281.         Left,
  282.         Center,
  283.         Right
  284.     };
  285.  
  286.     #endregion
  287.  
  288.     #region Events
  289.  
  290.     protected override void OnCreateControl()
  291.     {
  292.  
  293.         base.OnCreateControl();
  294.         ParentForm.FormBorderStyle = FormBorderStyle.None;
  295.         ParentForm.Dock = DockStyle.None;
  296.         Dock = DockStyle.Fill;
  297.         Invalidate();
  298.  
  299.     }
  300.  
  301.     protected override void OnMouseMove(MouseEventArgs e)
  302.     {
  303.  
  304.         base.OnMouseMove(e);
  305.         int x = MousePosition.X;
  306.         int y = MousePosition.Y;
  307.         int x1 = MousePoint.X;
  308.         int y1 = MousePoint.Y;
  309.  
  310.         if (Movable)
  311.             Parent.Location = new Point(x - x1, y - y1);
  312.         Focus();
  313.  
  314.     }
  315.  
  316.     protected override void OnMouseDown(MouseEventArgs e)
  317.     {
  318.         try
  319.         {
  320.             base.OnMouseDown(e);
  321.  
  322.             if (e.Button == System.Windows.Forms.MouseButtons.Left && new Rectangle(0, 0, Width, MoveHeight).Contains(e.Location))
  323.             {
  324.                 Movable = true;
  325.                 MousePoint = e.Location;
  326.             }
  327.  
  328.         }
  329.         catch (Exception ex)
  330.         {
  331.             MessageBox.Show(ex.Message);
  332.             MessageBox.Show(ex.StackTrace);
  333.         }
  334.     }
  335.  
  336.     protected override void OnMouseUp(MouseEventArgs e)
  337.     {
  338.  
  339.         base.OnMouseUp(e);
  340.  
  341.         Movable = false;
  342.  
  343.  
  344.     }
  345.  
  346.     #endregion
  347.  
  348.  
  349. }
  350.  
  351. #endregion
  352.  
  353. #region Button
  354.  
  355. public class PaleButton : Control
  356. {
  357.  
  358.     #region Variables
  359.  
  360.     private HelperMethods.MouseMode State;
  361.     private static HelperMethods H = new HelperMethods();
  362.     private int _RoundRadius = 10;
  363.  
  364.     #endregion
  365.  
  366.     #region Draw Control
  367.  
  368.     protected override void OnPaint(PaintEventArgs e)
  369.     {
  370.         using (Bitmap B = new Bitmap(Width, Height))
  371.         using (Graphics G = Graphics.FromImage(B))
  372.         {
  373.  
  374.             Rectangle Rect = new Rectangle(1, 1, Width - 2, Height - 2);
  375.  
  376.             G.SmoothingMode = SmoothingMode.HighQuality;
  377.             G.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
  378.             switch (State)
  379.             {
  380.                 case HelperMethods.MouseMode.NormalMode:
  381.                     using (LinearGradientBrush LGB = new LinearGradientBrush(Rect, Color.FromArgb(180, 250, 250, 250), Color.FromArgb(200, 250, 250, 250), 90f))
  382.                     {
  383.                         H.FillRoundedPath(G, LGB, Rect, RoundRadius);
  384.                     }
  385.                     H.DrawRoundedPath(G, H.GetHTMLColor("e0e0e0"), 1, Rect, RoundRadius);
  386.                     H.CentreString(G, Text, Font, H.SolidBrushHTMlColor("6a6a6a"), Rect);
  387.                     break;
  388.                 case HelperMethods.MouseMode.Hovered:
  389.                     using (LinearGradientBrush LGB = new LinearGradientBrush(Rect, Color.FromArgb(20, H.GetHTMLColor("6ebeec")), Color.FromArgb(30, H.GetHTMLColor("6ebeec")), 120f))
  390.                     {
  391.                         G.DrawPath(new Pen(LGB, 2), H.RoundRec(Rect, RoundRadius));
  392.                     }
  393.                     H.CentreString(G, Text, Font, H.SolidBrushHTMlColor("6a6a6a"), Rect);
  394.                     break;
  395.                 case HelperMethods.MouseMode.Pushed:
  396.                     H.FillRoundedPath(G, H.SolidBrushHTMlColor("f3f3f3"), Rect, RoundRadius);
  397.                     H.DrawRoundedPath(G, H.GetHTMLColor("e0e0e0"), 1, Rect, RoundRadius);
  398.                     H.CentreString(G, Text, Font, H.SolidBrushHTMlColor("6a6a6a"), Rect);
  399.                     break;
  400.  
  401.             }
  402.  
  403.             e.Graphics.DrawImage(B, 0, 0);
  404.             G.Dispose();
  405.             B.Dispose();
  406.         }
  407.     }
  408.  
  409.     #endregion
  410.  
  411.     #region Properties
  412.  
  413.     public int RoundRadius
  414.     {
  415.         get
  416.         {
  417.             return _RoundRadius;
  418.         }
  419.         set
  420.         {
  421.             _RoundRadius = value;
  422.             Invalidate();
  423.         }
  424.     }
  425.  
  426.     #endregion
  427.  
  428.     #region Constructors
  429.  
  430.     public PaleButton()
  431.     {
  432.         SetStyle(ControlStyles.DoubleBuffer | ControlStyles.AllPaintingInWmPaint | ControlStyles.ResizeRedraw | ControlStyles.UserPaint |
  433.         ControlStyles.Selectable | ControlStyles.SupportsTransparentBackColor, true);
  434.         DoubleBuffered = true;
  435.         BackColor = Color.Transparent;
  436.         Font = new Font("Myriad Pro", 12, FontStyle.Bold);
  437.         UpdateStyles();
  438.  
  439.     }
  440.  
  441.     #endregion
  442.  
  443.     #region Mouse Events
  444.  
  445.     protected override void OnMouseEnter(EventArgs e)
  446.     {
  447.  
  448.         base.OnMouseEnter(e);
  449.         State = HelperMethods.MouseMode.Hovered;
  450.         Invalidate();
  451.     }
  452.  
  453.     protected override void OnMouseUp(MouseEventArgs e)
  454.     {
  455.  
  456.         base.OnMouseUp(e);
  457.         State = HelperMethods.MouseMode.Hovered;
  458.         Invalidate();
  459.     }
  460.  
  461.     protected override void OnMouseDown(MouseEventArgs e)
  462.     {
  463.  
  464.         base.OnMouseDown(e);
  465.         State = HelperMethods.MouseMode.Pushed;
  466.         Invalidate();
  467.     }
  468.  
  469.     protected override void OnMouseLeave(EventArgs e)
  470.     {
  471.  
  472.         base.OnMouseLeave(e);
  473.         State = HelperMethods.MouseMode.NormalMode;
  474.         Invalidate();
  475.     }
  476.  
  477.     #endregion
  478.  
  479. }
  480.  
  481. #endregion
  482.  
  483. #region Blue Button
  484.  
  485. public class PaleBlueButton : Control
  486. {
  487.  
  488.     #region Variables
  489.  
  490.     private HelperMethods.MouseMode State;
  491.     private static HelperMethods H = new HelperMethods();
  492.     private int _RoundRadius = 10;
  493.  
  494.     #endregion
  495.  
  496.     #region Draw Control
  497.  
  498.     protected override void OnPaint(PaintEventArgs e)
  499.     {
  500.         using (Bitmap B = new Bitmap(Width, Height))
  501.         using (Graphics G = Graphics.FromImage(B))
  502.         {
  503.  
  504.             Rectangle Rect = new Rectangle(1, 1, Width - 2, Height - 2);
  505.  
  506.             G.SmoothingMode = SmoothingMode.HighQuality;
  507.             G.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
  508.             switch (State)
  509.             {
  510.                 case HelperMethods.MouseMode.NormalMode:
  511.                     H.FillRoundedPath(G, H.SolidBrushHTMlColor("5db6ea"), Rect, RoundRadius);
  512.                     using (LinearGradientBrush LGB = new LinearGradientBrush(Rect, Color.FromArgb(30, H.GetHTMLColor("5db6ea")), Color.FromArgb(30, 250, 250, 250), 90F))
  513.                     {
  514.                         H.FillRoundedPath(G, LGB, Rect, RoundRadius);
  515.                     }
  516.                     H.DrawRoundedPath(G, H.GetHTMLColor("4ca6db"), 1, Rect, RoundRadius);
  517.                     H.CentreString(G, Text, Font, Brushes.White, Rect);
  518.                     break;
  519.                 case HelperMethods.MouseMode.Hovered:
  520.                     H.FillRoundedPath(G, H.SolidBrushHTMlColor("5db6ea"), Rect, RoundRadius);
  521.                     H.CentreString(G, Text, Font, H.SolidBrushHTMlColor("4ca6db"), Rect);
  522.                     break;
  523.                 case HelperMethods.MouseMode.Pushed:
  524.                     H.FillRoundedPath(G, Brushes.White, Rect, RoundRadius);
  525.                     H.DrawRoundedPath(G, H.GetHTMLColor("4ca6db"), 1, Rect, RoundRadius);
  526.                     H.CentreString(G, Text, Font, Brushes.White, Rect);
  527.                     break;
  528.  
  529.             }
  530.  
  531.             e.Graphics.DrawImage(B, 0, 0);
  532.             G.Dispose();
  533.             B.Dispose();
  534.         }
  535.     }
  536.  
  537.     #endregion
  538.  
  539.     #region Properties
  540.  
  541.     public int RoundRadius
  542.     {
  543.         get
  544.         {
  545.             return _RoundRadius;
  546.         }
  547.         set
  548.         {
  549.             _RoundRadius = value;
  550.             Invalidate();
  551.         }
  552.     }
  553.  
  554.     #endregion
  555.  
  556.     #region Constructors
  557.  
  558.     public PaleBlueButton()
  559.     {
  560.         SetStyle(ControlStyles.DoubleBuffer | ControlStyles.AllPaintingInWmPaint | ControlStyles.ResizeRedraw | ControlStyles.UserPaint |
  561.         ControlStyles.Selectable | ControlStyles.SupportsTransparentBackColor, true);
  562.         DoubleBuffered = true;
  563.         BackColor = Color.Transparent;
  564.         Font = new Font("Myriad Pro", 12, FontStyle.Bold);
  565.         UpdateStyles();
  566.  
  567.     }
  568.  
  569.     #endregion
  570.  
  571.     #region Mouse Events
  572.  
  573.     protected override void OnMouseEnter(EventArgs e)
  574.     {
  575.  
  576.         base.OnMouseEnter(e);
  577.         State = HelperMethods.MouseMode.Hovered;
  578.         Invalidate();
  579.     }
  580.  
  581.     protected override void OnMouseUp(MouseEventArgs e)
  582.     {
  583.  
  584.         base.OnMouseUp(e);
  585.         State = HelperMethods.MouseMode.Hovered;
  586.         Invalidate();
  587.     }
  588.  
  589.     protected override void OnMouseDown(MouseEventArgs e)
  590.     {
  591.  
  592.         base.OnMouseDown(e);
  593.         State = HelperMethods.MouseMode.Pushed;
  594.         Invalidate();
  595.     }
  596.  
  597.     protected override void OnMouseLeave(EventArgs e)
  598.     {
  599.  
  600.         base.OnMouseLeave(e);
  601.         State = HelperMethods.MouseMode.NormalMode;
  602.         Invalidate();
  603.     }
  604.  
  605.     #endregion
  606.  
  607. }
  608.  
  609. #endregion
  610.  
  611. #region Textbox
  612.  
  613. [DefaultEvent("TextChanged")]public class PaleTextbox : Control
  614. {
  615.  
  616.     #region Variables
  617.  
  618.     private TextBox T = new TextBox();
  619.     private HorizontalAlignment _TextAlign = HorizontalAlignment.Left;
  620.     private int _MaxLength = 32767;
  621.     private bool _ReadOnly;
  622.     private bool _UseSystemPasswordChar = false;
  623.     private string _WatermarkText = "";
  624.     private Image _SideImage;
  625.     private bool _Multiline = false;
  626.     protected HelperMethods.MouseMode State = HelperMethods.MouseMode.NormalMode;
  627.     private static HelperMethods H = new HelperMethods();
  628.     private static Color TBC = H.GetHTMLColor("ffffff");
  629.     private static Color TFC = H.GetHTMLColor("a5a5a5");
  630.     private SideAligin _SideImageAlign = SideAligin.Left;
  631.     private Color _BackColor = Color.Transparent;
  632.     #endregion
  633.  
  634.     #region  Native Methods
  635.     [System.Runtime.InteropServices.DllImport("user32.dll")]
  636.     private static extern Int32 SendMessage(IntPtr hWnd, int msg, int wParam, [System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.LPWStr)]
  637. string lParam);
  638.  
  639.     #endregion
  640.  
  641.     #region Draw Control
  642.  
  643.     protected override void OnPaint(PaintEventArgs e)
  644.     {
  645.         using (Bitmap B = new Bitmap(Width, Height))
  646.         using (Graphics G = Graphics.FromImage(B))
  647.         {
  648.  
  649.             G.SmoothingMode = SmoothingMode.HighQuality;
  650.             G.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
  651.             Rectangle Rect = new Rectangle(0, 0, Width - 1, Height - 1);
  652.             Height = 30;
  653.             switch (State)
  654.             {
  655.                 case HelperMethods.MouseMode.NormalMode:
  656.                     H.FillRoundedPath(G, Brushes.White, Rect, 5);
  657.                     H.DrawRoundedPath(G, H.GetHTMLColor("dfdfdf"), 1, Rect, 5);
  658.                     break;
  659.                 case HelperMethods.MouseMode.Hovered:
  660.                     H.FillRoundedPath(G, Brushes.White, Rect, 5);
  661.  
  662.                     using (LinearGradientBrush lgb = new LinearGradientBrush(Rect, Color.FromArgb(50, H.GetHTMLColor("6ebeec")), Color.FromArgb(50, H.GetHTMLColor("6ebeec")), 120f))
  663.                     {
  664.                         G.DrawPath(new Pen(lgb, 2), H.RoundRec(Rect, 8));
  665.                     }
  666.  
  667.                     break;
  668.                 case HelperMethods.MouseMode.Pushed:
  669.                     H.FillRoundedPath(G, Brushes.White, Rect, 5);
  670.                     H.DrawRoundedPath(G, H.GetHTMLColor("dfdfdf"), 1, Rect, 5);
  671.                     break;
  672.             }
  673.  
  674.  
  675.             if (SideImage != null)
  676.             {
  677.                 if (SideImageAlign == SideAligin.Right)
  678.                 {
  679.                     T.Location = new Point(7, Convert.ToInt32(4.5));
  680.                     T.Width = Width - 60;
  681.                     G.InterpolationMode = InterpolationMode.HighQualityBicubic;
  682.                     G.DrawImage(SideImage, new Rectangle(Rect.Width - 24, 6, 16, 16));
  683.                 }
  684.                 else
  685.                 {
  686.                     T.Location = new Point(33, Convert.ToInt32(4.5));
  687.                     T.Width = Width - 60;
  688.                     G.InterpolationMode = InterpolationMode.HighQualityBicubic;
  689.                     G.DrawImage(SideImage, new Rectangle(8, 6, 16, 16));
  690.                 }
  691.             }
  692.             else
  693.             {
  694.                 T.Location = new Point(7, Convert.ToInt32(4.5));
  695.                 T.Width = Width - 10;
  696.             }
  697.  
  698.             if (ContextMenuStrip != null) { T.ContextMenuStrip = ContextMenuStrip; }
  699.  
  700.             e.Graphics.DrawImage(B, 0, 0);
  701.             G.Dispose();
  702.             B.Dispose();
  703.         }
  704.     }
  705.  
  706.     #endregion
  707.  
  708.     #region Constructors
  709.  
  710.     public PaleTextbox()
  711.     {
  712.         SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint |
  713.                 ControlStyles.ResizeRedraw | ControlStyles.OptimizedDoubleBuffer |
  714.                 ControlStyles.SupportsTransparentBackColor, true);
  715.         DoubleBuffered = true;
  716.         UpdateStyles();
  717.         Font = new Font("Myriad Pro", 11, FontStyle.Bold);
  718.         Size = new Size(135, 30);
  719.         T.Multiline = _Multiline;
  720.         T.Cursor = Cursors.IBeam;
  721.         T.BackColor = TBC;
  722.         T.ForeColor = TFC;
  723.         T.BorderStyle = BorderStyle.None;
  724.         T.Location = new Point(7, 7);
  725.         T.Font = Font;
  726.         T.Size = new Size(Width - 10, 30);
  727.         T.UseSystemPasswordChar = _UseSystemPasswordChar;
  728.         T.TextChanged += T_TextChanged;
  729.         T.MouseDown += T_MouseDown;
  730.         T.MouseEnter += T_MouseEnter;
  731.         T.MouseUp += T_MouseUp;
  732.         T.MouseLeave += T_MouseLeave;
  733.         T.MouseHover += T_MouseHover;
  734.         T.KeyDown += T_KeyDown;
  735.     }
  736.  
  737.     #endregion
  738.  
  739.     #region Properties
  740.  
  741.     [Browsable(false), EditorBrowsable(EditorBrowsableState.Never), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
  742.     public BorderStyle BorderStyle
  743.     {
  744.         get
  745.         {
  746.             return BorderStyle.None;
  747.         }
  748.     }
  749.  
  750.     [Browsable(false), EditorBrowsable(EditorBrowsableState.Never), DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
  751.     public bool Multiline
  752.     {
  753.         get
  754.         {
  755.             return _Multiline;
  756.         }
  757.         set
  758.         {
  759.             _Multiline = value;
  760.             if (T != null)
  761.             {
  762.                 T.Multiline = value;
  763.             }
  764.  
  765.         }
  766.     }
  767.  
  768.     public HorizontalAlignment TextAlign
  769.     {
  770.         get
  771.         {
  772.             return _TextAlign;
  773.         }
  774.         set
  775.         {
  776.             _TextAlign = value;
  777.             if (T != null)
  778.             {
  779.                 T.TextAlign = value;
  780.             }
  781.         }
  782.     }
  783.  
  784.     public int MaxLength
  785.     {
  786.         get
  787.         {
  788.             return _MaxLength;
  789.         }
  790.         set
  791.         {
  792.             _MaxLength = value;
  793.             if (T != null)
  794.             {
  795.                 T.MaxLength = value;
  796.             }
  797.         }
  798.     }
  799.  
  800.     public bool ReadOnly
  801.     {
  802.         get
  803.         {
  804.             return _ReadOnly;
  805.         }
  806.         set
  807.         {
  808.             _ReadOnly = value;
  809.             if (T != null)
  810.             {
  811.                 T.ReadOnly = value;
  812.             }
  813.         }
  814.     }
  815.  
  816.     public bool UseSystemPasswordChar
  817.     {
  818.         get
  819.         {
  820.             return _UseSystemPasswordChar;
  821.         }
  822.         set
  823.         {
  824.             _UseSystemPasswordChar = value;
  825.             if (T != null)
  826.             {
  827.                 T.UseSystemPasswordChar = value;
  828.             }
  829.         }
  830.     }
  831.  
  832.     public string WatermarkText
  833.     {
  834.         get
  835.         {
  836.             return _WatermarkText;
  837.         }
  838.         set
  839.         {
  840.             _WatermarkText = value;
  841.             SendMessage(T.Handle, 0x1501, 0, value);
  842.             Invalidate();
  843.         }
  844.     }
  845.  
  846.     public Image SideImage
  847.     {
  848.         get
  849.         {
  850.             return _SideImage;
  851.         }
  852.         set
  853.         {
  854.             _SideImage = value;
  855.             Invalidate();
  856.         }
  857.     }
  858.  
  859.     [Browsable(false)]
  860.     public override Image BackgroundImage
  861.     {
  862.         get
  863.         {
  864.             return base.BackgroundImage;
  865.         }
  866.         set
  867.         {
  868.             base.BackgroundImage = value;
  869.         }
  870.     }
  871.  
  872.     [Browsable(false)]
  873.     public override ImageLayout BackgroundImageLayout
  874.     {
  875.         get
  876.         {
  877.             return base.BackgroundImageLayout;
  878.         }
  879.         set
  880.         {
  881.             base.BackgroundImageLayout = value;
  882.         }
  883.     }
  884.  
  885.     public override string Text
  886.     {
  887.         get
  888.         {
  889.             return base.Text;
  890.         }
  891.         set
  892.         {
  893.             base.Text = value;
  894.         }
  895.     }
  896.  
  897.     public enum SideAligin
  898.     {
  899.         Left,
  900.         Right
  901.     }
  902.  
  903.     public SideAligin SideImageAlign
  904.     {
  905.         get
  906.         {
  907.             return _SideImageAlign;
  908.         }
  909.         set
  910.         {
  911.             _SideImageAlign = value;
  912.             Invalidate();
  913.         }
  914.     }
  915.  
  916.     override public Color BackColor
  917.     {
  918.  
  919.         get { return _BackColor; }
  920.         set
  921.         {
  922.             base.BackColor = value;
  923.             _BackColor = value;
  924.             T.BackColor = value;
  925.             Invalidate();
  926.         }
  927.     }
  928.  
  929.  
  930.     #endregion
  931.  
  932.     #region Events
  933.  
  934.     private void T_MouseHover(object sender, EventArgs e)
  935.     {
  936.         State = HelperMethods.MouseMode.Hovered;
  937.  
  938.     }
  939.  
  940.     private void T_MouseLeave(object sender, EventArgs e)
  941.     {
  942.         State = HelperMethods.MouseMode.NormalMode;
  943.  
  944.     }
  945.  
  946.     private void T_MouseUp(object sender, EventArgs e)
  947.     {
  948.         State = HelperMethods.MouseMode.Pushed;
  949.  
  950.     }
  951.  
  952.     private void T_MouseEnter(object sender, EventArgs e)
  953.     {
  954.         State = HelperMethods.MouseMode.Pushed;
  955.  
  956.     }
  957.  
  958.     private void T_MouseDown(object sender, EventArgs e)
  959.     {
  960.         State = HelperMethods.MouseMode.Pushed;
  961.  
  962.     }
  963.  
  964.     private void T_TextChanged(object sender, EventArgs e)
  965.     {
  966.         Text = T.Text;
  967.     }
  968.  
  969.     protected override void OnTextChanged(EventArgs e)
  970.     {
  971.         base.OnTextChanged(e);
  972.         T.Text = Text;
  973.     }
  974.  
  975.     private void T_KeyDown(object sender, KeyEventArgs e)
  976.     {
  977.         if (e.Control && e.KeyCode == Keys.A) { e.SuppressKeyPress = true; }
  978.         if (e.Control && e.KeyCode == Keys.C)
  979.         {
  980.             T.Copy();
  981.             e.SuppressKeyPress = true;
  982.         }
  983.     }
  984.  
  985.     protected override void OnCreateControl()
  986.     {
  987.         base.OnCreateControl();
  988.         if (!Controls.Contains(T))
  989.             Controls.Add(T);
  990.         if (T.Text == "" && WatermarkText != "")
  991.  
  992.             T.Text = WatermarkText;
  993.  
  994.     }
  995.  
  996.     protected override void OnResize(EventArgs e)
  997.     {
  998.         base.OnResize(e);
  999.         if (_Multiline == false)
  1000.             Height = 30;
  1001.     }
  1002.  
  1003.     #endregion
  1004.  
  1005.  
  1006. }
  1007.  
  1008. #endregion
  1009.  
  1010. #region CheckBox
  1011.  
  1012. [DefaultEvent("CheckedChanged")]
  1013. public class PaleCheckBox : Control
  1014. {
  1015.  
  1016.     #region Variables
  1017.  
  1018.     protected bool _Checked;
  1019.     protected HelperMethods.MouseMode State = HelperMethods.MouseMode.NormalMode;
  1020.     public event CheckedChangedEventHandler CheckedChanged;
  1021.     public delegate void CheckedChangedEventHandler(object sender);
  1022.     private static HelperMethods H = new HelperMethods();
  1023.  
  1024.     #endregion
  1025.  
  1026.     #region Properties
  1027.  
  1028.     protected override void OnTextChanged(EventArgs e)
  1029.     {
  1030.         base.OnTextChanged(e);
  1031.         Invalidate();
  1032.     }
  1033.  
  1034.     public bool Checked
  1035.     {
  1036.         get
  1037.         {
  1038.             return _Checked;
  1039.         }
  1040.         set
  1041.         {
  1042.             _Checked = value;
  1043.             Invalidate();
  1044.         }
  1045.     }
  1046.  
  1047.     #endregion
  1048.  
  1049.     #region Draw Control
  1050.  
  1051.     protected override void OnPaint(PaintEventArgs e)
  1052.     {
  1053.         using (Bitmap B = new Bitmap(Width, Height))
  1054.         using (Graphics G = Graphics.FromImage(B))
  1055.         {
  1056.  
  1057.             G.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
  1058.             G.SmoothingMode = SmoothingMode.AntiAlias;
  1059.             using (GraphicsPath CheckBorder = new GraphicsPath { FillMode = FillMode.Winding })
  1060.             {
  1061.                 CheckBorder.AddArc(0, 0, 10, 8, 180, 90);
  1062.                 CheckBorder.AddArc(8, 0, 8, 10, -90, 90);
  1063.                 CheckBorder.AddArc(8, 8, 8, 8, 0, 70);
  1064.                 CheckBorder.AddArc(0, 8, 10, 8, 90, 90);
  1065.                 CheckBorder.CloseAllFigures();
  1066.                 G.FillPath(Brushes.White, CheckBorder);
  1067.                 G.DrawPath(H.PenHTMlColor("d9d9d9", Convert.ToSingle(1.5)), CheckBorder);
  1068.                 if (Checked)
  1069.                 {
  1070.                     H.FillRoundedPath(G, H.SolidBrushHTMlColor("5db5e9"), new Rectangle(Convert.ToInt32(3.5), Convert.ToInt32(3.5), Convert.ToInt32(8.5), Convert.ToInt32(8.5)), 2);
  1071.                     H.DrawRoundedPath(G, H.GetHTMLColor("3db3e5"), 1, new Rectangle(Convert.ToInt32(3.5), Convert.ToInt32(3.5), Convert.ToInt32(8.5), Convert.ToInt32(8.5)), 2);
  1072.                 }
  1073.             }
  1074.  
  1075.             G.DrawString(Text, Font, H.SolidBrushHTMlColor("a5a5a5"), new Rectangle(18, Convert.ToInt32(1.4), Width, Height - 2), new StringFormat { Alignment = StringAlignment.Near, LineAlignment = StringAlignment.Center });
  1076.  
  1077.             e.Graphics.DrawImage(B, 0, 0);
  1078.             G.Dispose();
  1079.             B.Dispose();
  1080.         }
  1081.     }
  1082.  
  1083.     #endregion
  1084.  
  1085.     #region Constructors
  1086.  
  1087.     public PaleCheckBox()
  1088.     {
  1089.         SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint |
  1090.                  ControlStyles.OptimizedDoubleBuffer | ControlStyles.SupportsTransparentBackColor, true);
  1091.         DoubleBuffered = true;
  1092.         Cursor = Cursors.Hand;
  1093.         BackColor = Color.Transparent;
  1094.         Font = new Font("Myriad Pro", 9, FontStyle.Regular);
  1095.         UpdateStyles();
  1096.     }
  1097.  
  1098.     #endregion
  1099.  
  1100.     #region  Events
  1101.  
  1102.     protected override void OnMouseHover(EventArgs e)
  1103.     {
  1104.         base.OnMouseHover(e);
  1105.         State = HelperMethods.MouseMode.Hovered;
  1106.         Invalidate();
  1107.     }
  1108.  
  1109.     protected override void OnMouseLeave(EventArgs e)
  1110.     {
  1111.         base.OnMouseLeave(e);
  1112.         State = HelperMethods.MouseMode.NormalMode;
  1113.         Invalidate();
  1114.     }
  1115.  
  1116.     protected override void OnResize(EventArgs e)
  1117.     {
  1118.         base.OnResize(e);
  1119.         Invalidate();
  1120.     }
  1121.  
  1122.     protected override void OnCreateControl()
  1123.     {
  1124.         base.OnCreateControl();
  1125.     }
  1126.  
  1127.     protected override void OnClick(EventArgs e)
  1128.     {
  1129.         _Checked = !_Checked;
  1130.         if (CheckedChanged != null)
  1131.         {
  1132.             CheckedChanged(this);
  1133.         }
  1134.         base.OnClick(e);
  1135.         Invalidate();
  1136.     }
  1137.  
  1138.     #endregion
  1139.  
  1140. }
  1141.  
  1142. #endregion
  1143.  
  1144. #region Seperator
  1145.  
  1146. public class PaleSeperator : Control
  1147. {
  1148.  
  1149.     #region Variables
  1150.  
  1151.     private Style _SepStyle = Style.Horizental;
  1152.     private static HelperMethods H = new HelperMethods();
  1153.  
  1154.     #endregion
  1155.  
  1156.     #region Constructors
  1157.  
  1158.     public PaleSeperator()
  1159.     {
  1160.         SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint |
  1161.         ControlStyles.ResizeRedraw | ControlStyles.UserPaint |
  1162.         ControlStyles.SupportsTransparentBackColor, true);
  1163.         DoubleBuffered = true;
  1164.         BackColor = Color.Transparent;
  1165.         UpdateStyles();
  1166.  
  1167.     }
  1168.  
  1169.     #endregion
  1170.  
  1171.     #region Enumerators
  1172.  
  1173.     public enum Style
  1174.     {
  1175.         Horizental,
  1176.         Vertiacal
  1177.     };
  1178.  
  1179.     #endregion
  1180.  
  1181.     #region Properties
  1182.  
  1183.     public Style SepStyle
  1184.     {
  1185.         get
  1186.         {
  1187.             return _SepStyle;
  1188.         }
  1189.         set
  1190.         {
  1191.             _SepStyle = value;
  1192.             if (value == Style.Horizental)
  1193.             {
  1194.                 Height = 4;
  1195.             }
  1196.             else
  1197.             {
  1198.                 Width = 4;
  1199.             }
  1200.             Invalidate();
  1201.         }
  1202.     }
  1203.  
  1204.     #endregion
  1205.  
  1206.     #region DrawControl
  1207.  
  1208.     protected override void OnPaint(PaintEventArgs e)
  1209.     {
  1210.  
  1211.         using (Bitmap B = new Bitmap(Width, Height))
  1212.         using (Graphics G = Graphics.FromImage(B))
  1213.         {
  1214.  
  1215.             G.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
  1216.             switch (SepStyle)
  1217.             {
  1218.                 case Style.Horizental:
  1219.                     G.DrawLine(new Pen(H.SolidBrushHTMlColor("d4d4d4")), 0, 1, Width, 1);
  1220.                     break;
  1221.                 case Style.Vertiacal:
  1222.                     G.DrawLine(new Pen(H.SolidBrushHTMlColor("d4d4d4")), 1, 0, 1, Height);
  1223.                     break;
  1224.             }
  1225.  
  1226.             e.Graphics.DrawImage((Image)(B.Clone()), 0, 0);
  1227.             G.Dispose();
  1228.             B.Dispose();
  1229.         }
  1230.  
  1231.     }
  1232.  
  1233.     #endregion
  1234.  
  1235.     #region Events
  1236.  
  1237.     protected override void OnResize(EventArgs e)
  1238.     {
  1239.         base.OnResize(e);
  1240.         if (SepStyle == Style.Horizental) { Height = 4; } else { Width = 4; }
  1241.     }
  1242.  
  1243.     #endregion
  1244.  
  1245. }
  1246.  
  1247. #endregion
  1248.  
  1249. #region Label
  1250.  
  1251. public class PaleLabel : Control
  1252. {
  1253.     #region Vaeiables
  1254.  
  1255.     private Style _ColorStyle = Style.Style1;
  1256.     private static HelperMethods H = new HelperMethods();
  1257.  
  1258.     #endregion
  1259.  
  1260.     #region Constructors
  1261.  
  1262.     public PaleLabel()
  1263.     {
  1264.         SetStyle(ControlStyles.SupportsTransparentBackColor | ControlStyles.UserPaint | ControlStyles.OptimizedDoubleBuffer, true);
  1265.         DoubleBuffered = true;
  1266.         Font = new Font("Myriad Pro", 9, FontStyle.Regular);
  1267.     }
  1268.  
  1269.     #endregion
  1270.  
  1271.     #region Properties
  1272.  
  1273.     public Style ColorStyle
  1274.     {
  1275.         get
  1276.         {
  1277.             return _ColorStyle;
  1278.         }
  1279.         set
  1280.         {
  1281.             _ColorStyle = value;
  1282.             Invalidate();
  1283.         }
  1284.     }
  1285.  
  1286.     #endregion
  1287.  
  1288.     #region Enumerators
  1289.  
  1290.     public enum Style
  1291.     {
  1292.         Style1,
  1293.         Style2,
  1294.         Style3
  1295.     }
  1296.  
  1297.     #endregion
  1298.  
  1299.     #region DrawControl
  1300.  
  1301.     protected override void OnPaint(PaintEventArgs e)
  1302.     {
  1303.  
  1304.         Rectangle Rect = new Rectangle(0, 0, 22, 22);
  1305.         using (Bitmap B = new Bitmap(Width, Height))
  1306.         using (Graphics G = Graphics.FromImage(B))
  1307.         {
  1308.  
  1309.             G.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
  1310.             switch (ColorStyle)
  1311.             {
  1312.                 case Style.Style1:
  1313.                     G.DrawString(Text, Font, H.SolidBrushHTMlColor("898989"), ClientRectangle);
  1314.                     break;
  1315.                 case Style.Style2:
  1316.                     G.DrawString(Text, Font, H.SolidBrushHTMlColor("606060"), ClientRectangle);
  1317.                     break;
  1318.                 case Style.Style3:
  1319.                     G.DrawString(Text, Font, H.SolidBrushHTMlColor("2e8fc7"), ClientRectangle);
  1320.                     break;
  1321.             }
  1322.  
  1323.             e.Graphics.DrawImage((Image)(B.Clone()), 0, 0);
  1324.             G.Dispose();
  1325.             B.Dispose();
  1326.         }
  1327.  
  1328.     }
  1329.  
  1330.     #endregion
  1331.  
  1332.     #region Events
  1333.  
  1334.     protected override void OnResize(EventArgs e)
  1335.     {
  1336.         base.OnResize(e);
  1337.         Height = Font.Height;
  1338.     }
  1339.  
  1340.     #endregion;
  1341. }
  1342.  
  1343. #endregion
  1344.  
  1345. #region Close
  1346.  
  1347. public class PaleClose : Control
  1348. {
  1349.  
  1350.     #region Variables
  1351.  
  1352.     private static HelperMethods H = new HelperMethods();
  1353.  
  1354.     private string IMG =
  1355.         "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/GMzLdsAADoTaVRYdFhNTDpjb20uYWRvYmUueG1wAAAAAAA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/Pgo8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjUtYzAxNCA3OS4xNTE0ODEsIDIwMTMvMDMvMTMtMTI6MDk6MTUgICAgICAgICI+CiAgIDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+CiAgICAgIDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiCiAgICAgICAgICAgIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIKICAgICAgICAgICAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iCiAgICAgICAgICAgIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiCiAgICAgICAgICAgIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIKICAgICAgICAgICAgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIgogICAgICAgICAgICB4bWxuczp0aWZmPSJodHRwOi8vbnMuYWRvYmUuY29tL3RpZmYvMS4wLyIKICAgICAgICAgICAgeG1sbnM6ZXhpZj0iaHR0cDovL25zLmFkb2JlLmNvbS9leGlmLzEuMC8iPgogICAgICAgICA8eG1wOkNyZWF0b3JUb29sPkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3htcDpDcmVhdG9yVG9vbD4KICAgICAgICAgPHhtcDpDcmVhdGVEYXRlPjIwMTYtMTItMjlUMDY6NTE6MTktMDg6MDA8L3htcDpDcmVhdGVEYXRlPgogICAgICAgICA8eG1wOk1ldGFkYXRhRGF0ZT4yMDE2LTEyLTI5VDA2OjUxOjE5LTA4OjAwPC94bXA6TWV0YWRhdGFEYXRlPgogICAgICAgICA8eG1wOk1vZGlmeURhdGU+MjAxNi0xMi0yOVQwNjo1MToxOS0wODowMDwveG1wOk1vZGlmeURhdGU+CiAgICAgICAgIDx4bXBNTTpJbnN0YW5jZUlEPnhtcC5paWQ6Nzk1OWQ2MDQtZTAyMC1iZDQ0LTkwYzItOTgyMzJlYTY4ZTg2PC94bXBNTTpJbnN0YW5jZUlEPgogICAgICAgICA8eG1wTU06RG9jdW1lbnRJRD54bXAuZGlkOmRmZjgyZmQzLTlhZmEtM2M0NC1hZjlhLTRjZGZmNzhiOWRmNzwveG1wTU06RG9jdW1lbnRJRD4KICAgICAgICAgPHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD54bXAuZGlkOmRmZjgyZmQzLTlhZmEtM2M0NC1hZjlhLTRjZGZmNzhiOWRmNzwveG1wTU06T3JpZ2luYWxEb2N1bWVudElEPgogICAgICAgICA8eG1wTU06SGlzdG9yeT4KICAgICAgICAgICAgPHJkZjpTZXE+CiAgICAgICAgICAgICAgIDxyZGY6bGkgcmRmOnBhcnNlVHlwZT0iUmVzb3VyY2UiPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6YWN0aW9uPmNyZWF0ZWQ8L3N0RXZ0OmFjdGlvbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0Omluc3RhbmNlSUQ+eG1wLmlpZDpkZmY4MmZkMy05YWZhLTNjNDQtYWY5YS00Y2RmZjc4YjlkZjc8L3N0RXZ0Omluc3RhbmNlSUQ+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDp3aGVuPjIwMTYtMTItMjlUMDY6NTE6MTktMDg6MDA8L3N0RXZ0OndoZW4+CiAgICAgICAgICAgICAgICAgIDxzdEV2dDpzb2Z0d2FyZUFnZW50PkFkb2JlIFBob3Rvc2hvcCBDQyAoV2luZG93cyk8L3N0RXZ0OnNvZnR3YXJlQWdlbnQ+CiAgICAgICAgICAgICAgIDwvcmRmOmxpPgogICAgICAgICAgICAgICA8cmRmOmxpIHJkZjpwYXJzZVR5cGU9IlJlc291cmNlIj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmFjdGlvbj5zYXZlZDwvc3RFdnQ6YWN0aW9uPgogICAgICAgICAgICAgICAgICA8c3RFdnQ6aW5zdGFuY2VJRD54bXAuaWlkOjc5NTlkNjA0LWUwMjAtYmQ0NC05MGMyLTk4MjMyZWE2OGU4Njwvc3RFdnQ6aW5zdGFuY2VJRD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OndoZW4+MjAxNi0xMi0yOVQwNjo1MToxOS0wODowMDwvc3RFdnQ6d2hlbj4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OnNvZnR3YXJlQWdlbnQ+QWRvYmUgUGhvdG9zaG9wIENDIChXaW5kb3dzKTwvc3RFdnQ6c29mdHdhcmVBZ2VudD4KICAgICAgICAgICAgICAgICAgPHN0RXZ0OmNoYW5nZWQ+Lzwvc3RFdnQ6Y2hhbmdlZD4KICAgICAgICAgICAgICAgPC9yZGY6bGk+CiAgICAgICAgICAgIDwvcmRmOlNlcT4KICAgICAgICAgPC94bXBNTTpIaXN0b3J5PgogICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3BuZzwvZGM6Zm9ybWF0PgogICAgICAgICA8cGhvdG9zaG9wOkNvbG9yTW9kZT4zPC9waG90b3Nob3A6Q29sb3JNb2RlPgogICAgICAgICA8cGhvdG9zaG9wOklDQ1Byb2ZpbGU+c1JHQiBJRUM2MTk2Ni0yLjE8L3Bob3Rvc2hvcDpJQ0NQcm9maWxlPgogICAgICAgICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogICAgICAgICA8dGlmZjpYUmVzb2x1dGlvbj43MjAwMDAvMTAwMDA8L3RpZmY6WFJlc29sdXRpb24+CiAgICAgICAgIDx0aWZmOllSZXNvbHV0aW9uPjcyMDAwMC8xMDAwMDwvdGlmZjpZUmVzb2x1dGlvbj4KICAgICAgICAgPHRpZmY6UmVzb2x1dGlvblVuaXQ+MjwvdGlmZjpSZXNvbHV0aW9uVW5pdD4KICAgICAgICAgPGV4aWY6Q29sb3JTcGFjZT4xPC9leGlmOkNvbG9yU3BhY2U+CiAgICAgICAgIDxleGlmOlBpeGVsWERpbWVuc2lvbj4xNTwvZXhpZjpQaXhlbFhEaW1lbnNpb24+CiAgICAgICAgIDxleGlmOlBpeGVsWURpbWVuc2lvbj4xMzwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiAgICAgIDwvcmRmOkRlc2NyaXB0aW9uPgogICA8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+t8wKZgAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAA5UlEQVR42oTSIUvDQRjH8c9ORJNYhL0BQbAYVnwNZuM/GUWYTUXYwtjEoGA2GtRg3CswuJcgglFkYFLEtFn+G+d5cE+65/n+vnfhnkY1HA9w5G/9YBOvWMEzmklmENDHewKWcVWfuxnxDf2ATxz7Xzs4xUGGneCrUQ3HEDBCS7lG2MY01IMJDjEtiFO0Z7kQgUfcF+QbPM2akMDbgnwXN7G8gE5B7sZOLO9hqyC3UKXyKnqZ8CQzO6sXZy53sJaEvrGbuaBZ/7OADexnXujhAdcZ1sZ6wCUWE/iCi2ibPhK+hPPfAQAi6StkWJPjCAAAAABJRU5ErkJggg==";
  1356.  
  1357.     #endregion
  1358.  
  1359.     #region Constructors
  1360.  
  1361.     public PaleClose()
  1362.     {
  1363.  
  1364.         SetStyle(ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint | ControlStyles.ResizeRedraw |
  1365.             ControlStyles.SupportsTransparentBackColor, true);
  1366.         DoubleBuffered = true;
  1367.         BackColor = Color.Transparent;
  1368.         Cursor = Cursors.Hand;
  1369.         UpdateStyles();
  1370.  
  1371.     }
  1372.  
  1373.     #endregion
  1374.  
  1375.     #region DrawControl
  1376.  
  1377.     protected override void OnPaint(PaintEventArgs e)
  1378.     {
  1379.  
  1380.         using (Bitmap B = new Bitmap(Width, Height))
  1381.         using (Graphics G = Graphics.FromImage(B))
  1382.         {
  1383.  
  1384.             G.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
  1385.             G.InterpolationMode = InterpolationMode.High;
  1386.  
  1387.             H.DrawImageFromBase64(G, IMG, ClientRectangle);
  1388.  
  1389.             e.Graphics.DrawImage((Image)(B.Clone()), 0, 0);
  1390.             G.Dispose();
  1391.             B.Dispose();
  1392.         }
  1393.  
  1394.     }
  1395.  
  1396.     #endregion
  1397.  
  1398.     #region Events
  1399.  
  1400.     protected override void OnResize(EventArgs e)
  1401.     {
  1402.         base.OnResize(e);
  1403.         Size = new Size(15, 13);
  1404.         Invalidate();
  1405.     }
  1406.  
  1407.     protected override void OnClick(EventArgs e)
  1408.     {
  1409.         base.OnClick(e);
  1410.         Environment.Exit(0);
  1411.         Application.Exit();
  1412.     }
  1413.  
  1414.     #endregion
  1415.  
  1416. }
  1417.  
  1418. #endregion
  1419.  
  1420. #region ComboBox
  1421.  
  1422. public class PaleComboBox : ComboBox
  1423. {
  1424.  
  1425.     #region Variables
  1426.  
  1427.     private int _StartIndex = 0;
  1428.     private static HelperMethods H = new HelperMethods();
  1429.  
  1430.     #endregion
  1431.  
  1432.     #region Constructors
  1433.  
  1434.     public PaleComboBox()
  1435.     {
  1436.         SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.ResizeRedraw | ControlStyles.UserPaint |
  1437.               ControlStyles.OptimizedDoubleBuffer | ControlStyles.SupportsTransparentBackColor, true);
  1438.         DrawMode = System.Windows.Forms.DrawMode.OwnerDrawFixed;
  1439.         DoubleBuffered = true;
  1440.         BackColor = Color.Transparent;
  1441.         StartIndex = 0;
  1442.         DropDownHeight = 100;
  1443.         Font = new Font("Myriad Pro", 11);
  1444.         DropDownStyle = ComboBoxStyle.DropDownList;
  1445.         UpdateStyles();
  1446.  
  1447.     }
  1448.  
  1449.     #endregion
  1450.  
  1451.     #region Properties
  1452.  
  1453.     public int StartIndex
  1454.     {
  1455.         get
  1456.         {
  1457.             return _StartIndex;
  1458.         }
  1459.         set
  1460.         {
  1461.             _StartIndex = value;
  1462.             try
  1463.             {
  1464.                 base.SelectedIndex = value;
  1465.             }
  1466.             catch
  1467.             {
  1468.  
  1469.             }
  1470.             Invalidate();
  1471.         }
  1472.     }
  1473.  
  1474.     #endregion
  1475.  
  1476.  
  1477.     #region Draw Control
  1478.  
  1479.     protected override void OnPaint(PaintEventArgs e)
  1480.     {
  1481.         using (Bitmap B = new Bitmap(Width, Height))
  1482.         using (Graphics G = Graphics.FromImage(B))
  1483.         {
  1484.             Rectangle Rect = new Rectangle(1, 1, Width - Convert.ToInt32(2.5), Height - Convert.ToInt32(2.5));
  1485.  
  1486.             G.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
  1487.             G.SmoothingMode = SmoothingMode.AntiAlias;
  1488.  
  1489.             H.FillRoundedPath(G, Brushes.White, Rect, 5);
  1490.             H.DrawRoundedPath(G, H.GetHTMLColor("d9d9d9"), (int)1.5, Rect, 5);
  1491.             H.FillRoundedPath(G, H.SolidBrushHTMlColor("5db5e9"), new Rectangle(Width - 30, Convert.ToInt32(1.4), 29, Height - Convert.ToInt32(2.5)), 5);
  1492.             H.DrawRoundedPath(G, H.GetHTMLColor("4ca6db"), (int)1.5, new Rectangle(Width - 30, Convert.ToInt32(1.4), 29, Height - Convert.ToInt32(2.5)), 5);
  1493.  
  1494.             H.DrawTriangle(G, Color.White, Convert.ToInt32(1.5),
  1495.                       new Point(Width - 20, 12), new Point(Width - 16, 16),
  1496.                       new Point(Width - 16, 16), new Point(Width - 12, 12),
  1497.                       new Point(Width - 16, 17), new Point(Width - 16, 16)
  1498.                       );
  1499.             G.DrawString(Text, Font, new SolidBrush(H.GetHTMLColor("a5a5a5")), new Rectangle(7, Convert.ToInt32(1.5), Width - 1, Height - 1), new StringFormat { LineAlignment = StringAlignment.Center, Alignment = StringAlignment.Near });
  1500.  
  1501.             e.Graphics.DrawImage(B, 0, 0);
  1502.             G.Dispose();
  1503.             B.Dispose();
  1504.         }
  1505.     }
  1506.  
  1507.     protected override void OnDrawItem(DrawItemEventArgs e)
  1508.     {
  1509.         try
  1510.         {
  1511.  
  1512.             e.Graphics.SmoothingMode = SmoothingMode.AntiAlias;
  1513.             e.Graphics.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
  1514.             if (System.Convert.ToInt32((e.State & DrawItemState.Selected)) == (int)DrawItemState.Selected)
  1515.             {
  1516.                 if (!(e.Index == -1))
  1517.                 {
  1518.                     e.Graphics.FillRectangle(H.SolidBrushHTMlColor("5db5e9"), e.Bounds);
  1519.                     e.Graphics.DrawRectangle(H.PenHTMlColor("5db5e9", 1), e.Bounds);
  1520.                     e.Graphics.DrawString(GetItemText(Items[e.Index]), Font, Brushes.White, 1, e.Bounds.Y + 3);
  1521.                 }
  1522.             }
  1523.             else
  1524.             {
  1525.                 if (!(e.Index == -1))
  1526.                 {
  1527.                     e.Graphics.FillRectangle(Brushes.WhiteSmoke, e.Bounds);
  1528.                     e.Graphics.DrawString(GetItemText(Items[e.Index]), Font, H.SolidBrushHTMlColor("a5a5a5"), 1, e.Bounds.Y + 3);
  1529.                 }
  1530.             }
  1531.  
  1532.         }
  1533.         catch
  1534.         {
  1535.  
  1536.         }
  1537.         Invalidate();
  1538.     }
  1539.  
  1540.     #endregion
  1541.  
  1542.     #region Events
  1543.  
  1544.     protected override void OnResize(EventArgs e)
  1545.     {
  1546.         base.OnResize(e);
  1547.     }
  1548.  
  1549.     protected override void OnCreateControl()
  1550.     {
  1551.         base.OnCreateControl();
  1552.  
  1553.     }
  1554.  
  1555.     protected override void OnLostFocus(EventArgs e)
  1556.     {
  1557.         base.OnLostFocus(e);
  1558.         SuspendLayout();
  1559.         Update();
  1560.         ResumeLayout();
  1561.     }
  1562.  
  1563.     #endregion
  1564.  
  1565. }
  1566.  
  1567. #endregion
  1568.  
  1569. #region RadioButton
  1570.  
  1571. [DefaultEvent("CheckedChanged")]public class PaleRadioButton : Control
  1572. {
  1573.  
  1574.     #region Variables
  1575.  
  1576.     protected bool _Checked;
  1577.     protected HelperMethods.MouseMode State = HelperMethods.MouseMode.NormalMode;
  1578.     protected static int _Group = 1;
  1579.     public event CheckedChangedEventHandler CheckedChanged;
  1580.     public delegate void CheckedChangedEventHandler(object sender);
  1581.     private static HelperMethods H = new HelperMethods();
  1582.  
  1583.     #endregion
  1584.  
  1585.     #region Properties
  1586.  
  1587.     protected override void OnTextChanged(EventArgs e)
  1588.     {
  1589.         base.OnTextChanged(e);
  1590.         Invalidate();
  1591.     }
  1592.  
  1593.     public bool Checked
  1594.     {
  1595.         get
  1596.         {
  1597.             return _Checked;
  1598.         }
  1599.         set
  1600.         {
  1601.             _Checked = value;
  1602.             UpdateCheckState();
  1603.             Invalidate();
  1604.         }
  1605.     }
  1606.  
  1607.     public int Group
  1608.     {
  1609.         get
  1610.         {
  1611.             return _Group;
  1612.         }
  1613.         set
  1614.         {
  1615.             _Group = value;
  1616.         }
  1617.     }
  1618.  
  1619.     #endregion
  1620.  
  1621.     #region Draw Control
  1622.  
  1623.     protected override void OnPaint(PaintEventArgs e)
  1624.     {
  1625.         using (Bitmap B = new Bitmap(Width, Height))
  1626.         using (Graphics G = Graphics.FromImage(B))
  1627.         {
  1628.             G.SmoothingMode = SmoothingMode.AntiAlias;
  1629.  
  1630.             G.TextRenderingHint = System.Drawing.Text.TextRenderingHint.AntiAlias;
  1631.  
  1632.             if (Checked)
  1633.             {
  1634.                 G.FillEllipse(H.SolidBrushHTMlColor("5db5e9"), new Rectangle(4, 4, 12, 12));
  1635.                 G.DrawEllipse(H.PenHTMlColor("4ca6db", 2), new Rectangle(1, 1, 18, 18));
  1636.             }
  1637.             else
  1638.             {
  1639.                 G.FillEllipse(Brushes.White, new Rectangle(1, 1, 18, 18));
  1640.                 G.DrawEllipse(H.PenHTMlColor("d9d9d9", 2), new Rectangle(1, 1, 18, 18));
  1641.             }
  1642.  
  1643.             G.DrawString(Text, Font, H.SolidBrushHTMlColor("a5a5a5"), new Rectangle(21, Convert.ToInt32(1.5), Width, Height - 2), new StringFormat { Alignment = StringAlignment.Near, LineAlignment = StringAlignment.Center });
  1644.  
  1645.             e.Graphics.DrawImage(B, 0, 0);
  1646.             G.Dispose();
  1647.             B.Dispose();
  1648.         }
  1649.     }
  1650.  
  1651.     #endregion
  1652.  
  1653.     #region Constructors
  1654.  
  1655.     public PaleRadioButton()
  1656.     {
  1657.         SetStyle(ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint |
  1658.                  ControlStyles.OptimizedDoubleBuffer | ControlStyles.SupportsTransparentBackColor, true);
  1659.         DoubleBuffered = true;
  1660.         Cursor = Cursors.Hand;
  1661.         BackColor = Color.Transparent;
  1662.         Font = new Font("Myriad Pro", 9, FontStyle.Regular);
  1663.         UpdateStyles();
  1664.     }
  1665.  
  1666.     #endregion
  1667.  
  1668.     #region  Events
  1669.  
  1670.     private void UpdateCheckState()
  1671.     {
  1672.         if (!IsHandleCreated || !_Checked)
  1673.             return;
  1674.  
  1675.         foreach (Control C in Parent.Controls)
  1676.         {
  1677.             if (!object.ReferenceEquals(C, this) && C is PaleRadioButton && ((PaleRadioButton)C).Group == _Group)
  1678.             {
  1679.                 ((PaleRadioButton)C).Checked = false;
  1680.             }
  1681.         }
  1682.         if (CheckedChanged != null)
  1683.         {
  1684.             CheckedChanged(this);
  1685.         }
  1686.     }
  1687.  
  1688.     protected override void OnMouseDown(MouseEventArgs e)
  1689.     {
  1690.         if (!_Checked)
  1691.             Checked = true;
  1692.         base.OnMouseDown(e);
  1693.     }
  1694.  
  1695.     protected override void OnResize(EventArgs e)
  1696.     {
  1697.         base.OnResize(e);
  1698.         Height = 21;
  1699.         Invalidate();
  1700.     }
  1701.  
  1702.     protected override void OnCreateControl()
  1703.     {
  1704.         base.OnCreateControl();
  1705.         UpdateCheckState();
  1706.     }
  1707.  
  1708.     #endregion
  1709.  
  1710. }
  1711.  
  1712. #endregion
Add Comment
Please, Sign In to add comment