Click here to Skip to main content
15,881,812 members
Articles / Programming Languages / C#
Article

A Calculator Control Box

Rate me:
Please Sign up or sign in to vote.
4.22/5 (36 votes)
25 Nov 2005CPOL2 min read 143.7K   5.5K   86   25
A Calculator Control Box which can be used instead of a text box for numeric input.

Sample Image - CalculatorBox.jpg

Introduction

Accepting input from the user is always a big challenge in software development. I faced many cases where the user needs to be controlled by the application to provide proper input. So, I designed some controls to provide that feature. But I felt there are some cases where the more than just controlling the input is required. For example, if user needs to input some amount, then the user might expect a calculator to do initial calculation for a particular field. In that case, the user uses his/her own preferred calculator to do the initial calculation. Some of them use their brain, some use a physical calculator, and some use the calculator available with Windows. All of these are out of the scope of the application that the user is using. So, I always felt the need to develop a calculator control, which will provide a very similar interface as the standard calculator found in the market. That was the motivation to develop this calculator box. This calculator box can be used instead of using a restricted text box control.

Description

The CalculatorBox is a user control, which provides a specific feature to provide numerical input, especially for financial information. This control can be used as a text box control. It is more like a combo box control. It has two modes. One is the normal mode where the user can provide input for decimal numbers. Whenever the user wants to do some mathematical operations, the user can click on the arrow at the left, like in a combo box. It will display a calculator at the best possible place. The user can click on the calculator buttons, or use the keyboard to do the calculations. In text mode, if the user clicks any operation key (Add, Subtract, Multiply, or Divide), then it will automatically switch to calculator mode with the button pressed. If the calculator loses its focus, then automatically it will switch to text mode and the calculator will disappear.

Sample Image

If the user made some mistake in the calculation and wants a previous value, then the user can press the Esc button and the control will reset to the previous value.

This control has two properties: the Text property will provide whatever is available in the text box, and the Value property will provide the decimal value.

1.1 New Support

Culture Support

I use the current culture information from the CultureInfo class to decide the character for the the decimal point. The decimal point is used for display as well as to accept input from the user. For example, the Spanish language uses coma as a decimal separator. So, if the user sets the current culture as Spanish, then the calculator control will automatically use the coma as the decimal separator.

Culture Support

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior) KAZ Software Limited
Bangladesh Bangladesh
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
Generalhello can you help me Pin
wwfinz6-Jun-07 7:19
wwfinz6-Jun-07 7:19 

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

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.