This control combines a TextBox with an up-down button to select a number. If the ReadOnly property is set to true, you can only alter the number with the up-down buttons , but otherwise you can also type into the text box. If the user does type into the box, the ValidateEditText() method will be called, and the UserEdit property is set to true. Subsequent typing causes the UpdateEditText() method to be called, as for all controls derived from UpDownBase . You can override these methods in a derived class to validate user input. You can specify the Value displayed in the box, in addition to a Text representation of that number. The number may also be displayed with a ThousandsSeparator (the character for which is determined by the Culture settings currently in operation), and you can select the number of DecimalPlaces to show. Alternatively, you can choose a Hexadecimal representation. Finally, the range of the control is limited by the Minimum and Maximum properties, and the value that will be added or removed as the buttons are clicked is defined by the Increment property. public class NumericUpDown : UpDownBase : System.ComponentModel.ISupportInitialize { // Public Constructors public NumericUpDown (); // Public Instance Properties public int DecimalPlaces {set; get; } public bool Hexadecimal {set; get; } public decimal Increment {set; get; } public decimal Maximum {set; get; } public decimal Minimum {set; get; } public override string Text {set; get; } // overrides UpDownBase public bool ThousandsSeparator {set; get; } public decimal Value {set; get; } // Public Instance Methods public void BeginInit (); // implements System.ComponentModel.ISupportInitialize public override void DownButton (); // overrides UpDownBase public void EndInit (); // implements System.ComponentModel.ISupportInitialize public override string ToString (); // overrides System.ComponentModel.Component public override void UpButton (); // overrides UpDownBase // Protected Instance Methods protected override AccessibleObject CreateAccessibilityInstance (); // overrides Control protected override void OnTextBoxKeyPress (object source , KeyPressEventArgs e ); // overrides UpDownBase protected virtual void OnValueChanged (EventArgs e ); protected void ParseEditText (); protected override void UpdateEditText (); // overrides UpDownBase protected override void ValidateEditText (); // overrides UpDownBase // Events public event EventHandler ValueChanged ; } HierarchySystem.Object System.MarshalByRefObject System.ComponentModel.Component(System.ComponentModel.IComponen, System.IDisposable) Control(IOleContro, IOleObject , IOleInPlaceObject , IOleInPlaceActiveObject , IOleWindow , IViewObject , IViewObject2 , IPersist , IPersistStreamInit , IPersistPropertyBag , IPersistStorage , IQuickActivate , System.ComponentModel.ISynchronizeInvoke , IWin32Window) ScrollableControl ContainerControl(IContainerControl) UpDownBase NumericUpDown(System.ComponentModel.ISupportInitialize) |