public NumericUpDown(bool initButtons)
        {
            this.BackColor = Color.FromArgb(250, 250, 250);
            this.BorderColor = Color.FromArgb(175, 175, 175);
            this.CanSelect = true;
            this.DisabledColor = Color.FromArgb(240, 240, 240);
            this.Increment = 1;
            this.Maximum = 100;
            this.Minimum = 0;
            this.Padding = new Padding(4, 0, 4, 0);
            this.Size = new Drawing.Size(120, 20);
            this.TextAlign = HorizontalAlignment.Left;

            if (initButtons)
            {
                ButtonIncrease = new RepeatButton();
                ButtonIncrease.Anchor = AnchorStyles.Right | AnchorStyles.Top;
                ButtonIncrease.CanSelect = false;
                ButtonIncrease.Location = new Point(Width - 16, Height / 2 - 8);
                ButtonIncrease.Size = new Size(14, 8);
                ButtonIncrease.Name = "_numericButtonIncrease";
                ButtonIncrease.BackColor = Color.FromArgb(236, 236, 236);
                ButtonIncrease.BorderColor = Color.FromArgb(172, 172, 172);
                ButtonIncrease.HoverColor = Color.FromArgb(228, 241, 252);
                ButtonIncrease.BorderHoverColor = Color.FromArgb(126, 180, 234);
                ButtonIncrease.Image = ApplicationBehaviour.Resources.Images.NumericUp;
                ButtonIncrease.Click += delegate { if (Enabled) Value += Increment; };

                ButtonDecrease = new RepeatButton();
                ButtonDecrease.Anchor = AnchorStyles.Right | AnchorStyles.Top;
                ButtonDecrease.CanSelect = false;
                ButtonDecrease.Location = new Point(Width - 16, Height / 2);
                ButtonDecrease.Size = new Drawing.Size(14, 8);
                ButtonDecrease.Name = "_numericButtonDecrease";
                ButtonDecrease.BackColor = Color.FromArgb(236, 236, 236);
                ButtonDecrease.BorderColor = Color.FromArgb(172, 172, 172);
                ButtonDecrease.HoverColor = Color.FromArgb(228, 241, 252);
                ButtonDecrease.BorderHoverColor = Color.FromArgb(126, 180, 234);
                ButtonDecrease.Image = ApplicationBehaviour.Resources.Images.NumericDown;
                ButtonDecrease.Click += delegate { if (Enabled) Value -= Increment; };

                Controls.Add(ButtonIncrease);
                Controls.Add(ButtonDecrease);
            }

            Resize += _UpdateButtonsLocation;
            LostFocus += (s, a) => { _ConfirmValue(); };
        }