Introduction:
As much as we know about the Textbox control in
which we can enter any type of value as (Numeric type , Char type or any special
character) . Here we are going to make a Numeric Textbox which will accept only
numeric values; if there are any values except numeric. it will not be entered into the Textbox. Typically, you'll create your control as either as a Class Library Project
(for components) or a Windows Control Library (for custom controls).
Whenever we are designing a custom
control or component, you could add the control or component class directly to
your application project. However, this approach prevents you from reusing your
class in multiple applications. A better, more component-based approach is to
create a separate project for your custom control or component. You can then use
it in any other project by adding a reference to the compiled DLL assembly. This
separate control or component project is a library. Here we are providing some
steps to create a numeric Textbox Component or control.
Step 1: In this step we have to take a
Library Project named as Custom Control as shown in figure given below.
Step 2: Now we are going to add a Custom
Control into the Library Project.
- Right click on project name as Custom
Control and add a Custom control and give any name.
- After adding the custom control it will
show a gray window which will looks like as
Step 3: After adding Custom Control it
looks like as.
Step 4: Now open the class1.cs file and
write the code given below.
Code :
using
System;
using
System.Collections.Generic;
using
System.Linq;
using
System.Text;
using
System.Windows.Forms;
namespace
Custom_control1
{
public class
NumericTextBox :
TextBox
{
protected
override void OnKeyPress(KeyPressEventArgs
e)
{
// Ignore all non-control and non-numeric key
presses.
if(!char.IsControl(e.KeyChar)
&& !char.IsDigit(e.KeyChar))
{
e.Handled = true;
}
// to Call the implementation in the
base TextBox class,
// which raises the KeyPress event.
base.OnKeyPress(e);
}
}
}
Code Description: In this
code we have to make a class name as Numeric Textbox which inherit the Textbox
class and there is a event method name as On Key Press() which is protected which
is a key press event on key pressing from the keyboard it will raise an event
and check the control value. If key pressing with any non-numeric key or any
character digit will not entered into the Textbox. It will accept only numeric
value.
Step 5: Now Build
the solution of the class library file
Step 6: Now we are
going to add the library project into the window form application.
- Firstly open a window
form application
- Right click on
Solution Explorer.
- Add a new Project
named as Custom Control it looks like figure given below.
Step 7: Now add some
necessary References add a windows form reference to the project Custom Control.
Step 8: Now add the
Custom Control.dll reference to the window application and build the solution.
You see that control will appear into the Custom component Toolbox.
Step 9: Now to add a
component as a control to the toolbox now follow the step
- Go to Toolbox.
- Right Click on any
Control.
- And Choose Item.
- And select the .NET
Framework Component.
- Choose or mark the
click on Component name as NumericTextBox1.
- Figure shows how it
looks when we will open and add it.
Step 10: Further we
are going to use our custom Control so we have to drag and drop it on windows
form:
Step 11: Now we are
going to run the application it will always take numeric value
Output
Window: