Click here to Skip to main content
Click here to Skip to main content

Numeric TextBox : Allow your users to enter numeric data the easy way

By , 20 Jun 2004
 

Introduction

Numeric input has always been one of the key-features in many applications (CRM, Accounting,...). Although MS provides a masked edit control, many developers find it to have some limitations.

The Numeric TextBox tries to provide some features to allow the user to input numeric data in a natural way. Let's have a look at some of the key features.

  1. Allow/Disallow negative input.
  2. Specify the maximum precision and scale.
  3. Specify a different scale when the control hasn't got the focus.
  4. Allow/Disallow zero as a valid input.
  5. The control displays grouping characters.
  6. The control adapts the regional settings (grouping char, decimal char).

Using the code

To use the control simply reference the Shorty.Windows.Forms assembly in your project. Create (or drag and drop on the form) a NumericTextBox and set the properties. The properties can be set trough code or via the property pane (Numeric settings section). See below for an example.

// 
// numericTextBox1
// 
Shorty.Windows.Forms.NumericTextBox() numericTextBox1 = 
  new Shorty.Windows.Forms.NumericTextBox();

this.numericTextBox1.AllowNegative = true;
this.numericTextBox1.DataBindings.Add(
  new System.Windows.Forms.Binding("NumericValue", 
  this, "Table1.test"));
this.numericTextBox1.NumericPrecision = 8;
this.numericTextBox1.NumericScaleOnFocus = 5;
this.numericTextBox1.NumericScaleOnLostFocus = 3;
this.numericTextBox1.NumericValue = 0;
this.numericTextBox1.ZeroIsValid = false;

The control automatically checks if the combination NumericPrecision NumericScaleOn(Lost)Focus is valid. As you can see in the above sample to retrieve the numeric value displayed in the NumericTextBox you should use the NumericValue property. The control is also capable of databinding it's NumericValue property. (See above code sample).

History

  • Initial release version 0.1.0.0 (20/06/2004)

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

About the Author

Hannes Decorte
Web Developer
Belgium Belgium
Member
3 years ago I started out with VB 6 and ASP. After seeing .Net in Beta in 2001 I haven't done anything else. I moved from VB6 over VB.Net to C#.
In 2004 I earned my MCAD. Currently I am employed as a Analyst/Developer and I'm working towards my MCDBA (1 exam to go Smile | :) ).
 
You can follow me at my blog http://radio.weblogs.com/0132279/

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
Hint: For improved responsiveness ensure Javascript is enabled and choose 'Normal' from the Layout dropdown and hit 'Update'.
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page   
QuestionI can't place it on a form... helpmemberRolando Rocha25 Feb '13 - 3:56 
GeneralMy vote of 3memberFlash2009-MX29 Nov '12 - 8:59 
BugI can't place it on a form... helpmemberIApple15 Sep '11 - 23:29 
GeneralRe: I can't place it on a form... helpmemberMember 82599651 Oct '11 - 20:34 
GeneralRe: I can't place it on a form... helpmemberTassosK19 Oct '11 - 5:19 
GeneralThanxmemberBeni Sec10 Nov '10 - 7:18 
QuestionPlease help...memberdynaduo16 Sep '10 - 12:45 
GeneralBUGmemberLimitedAtonement2 Nov '09 - 7:11 
Generalfailed to create componentmembersari5sundar15 May '09 - 3:02 
GeneralThis methods work toomembersyedmasroorahmed29 Apr '09 - 19:27 
GeneralFailed to create component...memberJulius91125 Mar '09 - 4:40 
GeneralRe: Failed to create component...memberJulius91127 Mar '09 - 6:12 
GeneralHorizontal Alignmentmembersalblomo4 Mar '09 - 8:20 
GeneralRe: Horizontal Alignmentmemberrgustin8 Jul '09 - 19:42 
GeneralGood controlmemberdungxpt29 Sep '08 - 12:48 
GeneralVery good controlmemberBoogier26 Mar '08 - 0:19 
QuestionHow to Use It ?memberfreddie200023 Nov '07 - 5:41 
AnswerRe: How to Use It ?memberfreddie200023 Nov '07 - 5:50 
QuestionGreat Control, Can you modify it to add Range, Min and Max values it allows ?memberVivek Krishnamurthy5 Sep '07 - 5:54 
GeneralDrop Control on to formmemberNeil Squires19 Jul '07 - 7:01 
AnswerRe: Drop Control on to formmemberhellspawnfr1 Feb '08 - 22:28 
GeneralRe: Drop Control on to formmemberMahmood Dehghan28 Mar '08 - 23:08 
GeneralExceptionmembernaalexander27 Jul '06 - 3:12 
GeneralRe: ExceptionmemberCarlo Bos11 Jan '07 - 8:11 
GeneralRe: Exceptionmemberrichm12234513234128 Apr '07 - 21:49 
GeneralThanks, very helpful .member-=777=-23 Jul '06 - 0:54 
GeneralWhat's about Cut, Copy and Pastemembercarloqueirolo22 Jul '06 - 7:28 
GeneralRe: What's about Cut, Copy and PastememberCiupaz12 Apr '11 - 0:11 
Generalmy numtextbox controlmemberbyshome23 Mar '06 - 17:04 
Generalbug IImemberlethedon1 Mar '06 - 5:15 
GeneralVery good numeric textbox - simple and efficientmemberclody5 Dec '05 - 23:44 
GeneralRe: Very good numeric textbox - simple and efficientmemberdrjoju15 Mar '06 - 9:20 
GeneralExcellentmemberKia Rahimzadeh26 Oct '04 - 23:02 
GeneralCursor position goes wrong when the comma appearsmembernvt7 Sep '04 - 17:43 
GeneralRe: Cursor position goes wrong when the comma appearsmemberasterixnz19 Sep '06 - 16:18 
GeneralRe: Cursor position goes wrong when the comma appearsmemberR. van der Pal17 Dec '06 - 12:10 
GeneralNice!protectorMarc Clifton22 Aug '04 - 11:40 
GeneralRe: Nice!memberHannes Decorte22 Aug '04 - 19:01 
Questionanother one used in web ?member´ó±Ç×Ó¹·27 Jun '04 - 16:11 
GeneralComponent not in ToolboxmemberAlan Wilcox25 Jun '04 - 10:44 
Questionbug??memberSelvin25 Jun '04 - 8:18 
AnswerRe: bug??memberHannes Decorte26 Jun '04 - 0:55 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Permalink | Advertise | Privacy | Mobile
Web01 | 2.6.130516.1 | Last Updated 21 Jun 2004
Article Copyright 2004 by Hannes Decorte
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid