C# | MaskedTextBox Class

In C#, MaskedTextBox control gives a validation procedure for the user input on the form like date, phone numbers, etc. Or in other words, it is used to provide a mask which differentiates between proper and improper user input. The MaskedTextBox class is used to represent the windows masked text box and also provide different types of properties, methods, and events. It is defined under System.Windows.Forms namespace.
This class enhanced version of TextBox control, it supports a declarative syntax for receiving or rejecting the user input and when this control display at run time, it represents the mask as a sequence of prompt characters and optional literal characters. In C# you can create a MaskedTextBox in the windows form by using two different ways:

1. Design-Time: It is the easiest way to create a MaskedTextBox as shown in the following steps:

  • Step 1: Create a windows form as shown in the below image:
    Visual Studio -> File -> New -> Project -> WindowsFormApp



  • Step 2: Next, drag and drop the MaskedTextBox control from the toolbox to the form.

  • Step 3: After drag and drop you will go to the properties of the MaskedTextBox control to modify MaskedTextBox according to your requirement.

    Output:

2. Run-Time: It is a little bit trickier than the above method. In this method, you can create a MaskedTextBox control programmatically with the help of syntax provided by the MaskedTextBox class. The following steps show how to set the create MaskedTextBox dynamically:

  • Step 1: Create a MaskedTextBox control using the MaskedTextBox() constructor is provided by the MaskedTextBox class.
    // Creating a MaskedTextBox control
    MaskedTextBox mbox = new MaskedTextBox(); 
    
  • Step 2: After creating MaskedTextBox control, set the property of the MaskedTextBox control provided by the MaskedTextBox class.
    // Setting the properties 
    // of MaskedTextBox
    mbox.Location = new Point(374, 137); 
    mbox.Mask = "000000000"; 
    mbox.Size = new Size(176, 20); 
    mbox.Name = "MyBox"; 
    mbox.Font = new Font("Bauhaus 93", 18); 
    
  • Step 3: And last add this MaskedTextBox control to the form using the following statement:
    // Adding MaskedTextBox 
    // control on the form 
    this.Controls.Add(mbox); 
    

    Example:

    filter_none

    edit
    close

    play_arrow

    link
    brightness_4
    code

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
      
    namespace WindowsFormsApp36 {
      
    public partial class Form1 : Form {
      
        public Form1()
        {
            InitializeComponent();
        }
      
        private void Form1_Load(object sender, EventArgs e)
        {
            // Creating and setting the
            // properties of the Label
            Label l1 = new Label();
            l1.Location = new Point(413, 98);
            l1.Size = new Size(176, 20);
            l1.Text = " Example";
            l1.Font = new Font("Bauhaus 93", 12);
      
            // Adding label on the form
            this.Controls.Add(l1);
      
            // Creating and setting the
            // properties of the Label
            Label l2 = new Label();
            l2.Location = new Point(242, 135);
            l2.Size = new Size(126, 20);
            l2.Text = "Phone number:";
            l2.Font = new Font("Bauhaus 93", 12);
      
            // Adding label on the form
            this.Controls.Add(l2);
      
            // Creating and setting the
            // properties of the MaskedTextBox
            MaskedTextBox mbox = new MaskedTextBox();
            mbox.Location = new Point(374, 137);
            mbox.Mask = "000000000";
            mbox.Size = new Size(176, 20);
            mbox.Name = "MyBox";
            mbox.Font = new Font("Bauhaus 93", 18);
      
            // Adding MaskedTextBox
            // control on the form
            this.Controls.Add(mbox);
        }
    }
    }

    chevron_right

    
    

    Output:

Constructor

Constructor Description
MaskedTextBox() This Constructors is used to initialize a new instance of the MaskedTextBox class.
MaskedTextBox(MaskedTextProvider) This Constructors is used to initialize a new instance of the MaskedTextBox class using the specified custom mask language provider.
MaskedTextBox(String) This Constructors is used to initialize a new instance of the MaskedTextBox class using the specified input mask.

Properties

Property Description
AsciiOnly Gets or sets a value indicating whether the MaskedTextBox control accepts characters outside of the ASCII character set.
AutoSize This property is used to get or set a value that indicates whether the control resizes based on its contents.
BackColor This property is used to get or set the background color for the control.
BorderStyle This property indicates the border style for the control.
Font This property is used to get or set the font of the text displayed by the control.
ForeColor This property is used to get or set the foreground color of the control.
Height This property is used to get or set the height of the control.
Location This property is used to get or set the coordinates of the upper-left corner of the MaskedTextBox control relative to the upper-left corner of its form.
Name This property is used to get or set the name of the control.
TabStop This property is used to get or set a value that shows whether the user can press the TAB key to provide the focus to the NumericUpDown.
Size This property is used to get or set the height and width of the control.
Text This property is used to get or set the text to be displayed in the RichTextBox control.
Visible This property is used to get or set a value indicating whether the control and all its child controls are displayed.
Width This property is used to get or set the width of the control.
Multiline This property is used to get or set a value indicating whether this is a multiline MaskedTextBox control.
TextAlign This property is used to get or set how text is aligned in a masked text box control.
TextMaskFormat This property is used to get or set a value that determines whether literals and prompt characters are included in the formatted string.
SelectedText This property is used to get or set the current selection in the MaskedTextBox control.
PromptChar This property is used to get or set the character used to represent the absence of user input in MaskedTextBox.
ReadOnly This property is used to get or set a value indicating whether text in the text box is read-only.
MaxLength This property is used to get or set the maximum number of characters the user can type or paste into the text box control. This property is not supported by MaskedTextBox.
Lines This property is used to get or set the lines of text in multiline configurations. This property is not supported by MaskedTextBox.


My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.




Article Tags :

Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.