A text box is a Windows control used to get or display text for the userís interaction. At its most regular use,
a text box serves as a place to fill out and provide information. Such a use is common on employment applications, login dialog boxes, etc.
Like most other controls, the role of a text box is not obvious at first glance; that is why it should be accompanied by a label that defines its purpose.

From the userís standpoint,
a text box is named after the label closest to it. Such a label is usually positioned to the left or the top side of the
text box. From the programmerís point of view, a text box is a placeholder used for various things. For example, you can show or hide it as you see fit. You can also use it only to display text without allowing the user to change it.

To create a text box, in the Toolbox, you can click TextBox
and click the form. The text box is based on the TextBox class. This means that
you can use this class to dynamically create a text box and add it to your
application.

Text Box Characteristics

The most important aspect of a text box is its text, whether it is displaying or requesting it. This is the
Text property. When you add a text box control to a form or other
container, the Form Designer initializes it with the name of the control; this would be
textBox1 for the first text box, textBox2 for the second, etc. If you want the control to display some text when the form launches, type the text in the
Text property field in the
Properties window. Otherwise, if you want the text box to be empty when it comes up for the first time, delete the content of the
Text field.

By default, a newly created text box is used to both display and receive text from the user. If you want
the user to read text without being able to change it, set the
ReadOnly Boolean property to True. Its default value is false.

As mentioned already, a text box should be accompanied by a label that indicates what it is used for. To support this relationship, the Label control provides various properties. An accelerator character is a symbol of the label that provides easy access to its
text box. On the label, such a character is underlined. An example would be First Name. The idea is that, if the user presses
the Alt key in combination with the labelís underlined character, the
text box it accompanies would receive focus. To create an accelerator key, choose one of the labelís characters and precede it with an ampersand character when setting its caption. An example would be &First Name. If you want a label to display the accelerator character instead of a plain ampersand, set the labelís
UseMnemonic property to true, which is already its default value. If you set it to true but need to display an ampersand, type two & characters where the ampersand would be shown.

The UseMnemonic property of a label is only used to indicate that the label
would display an accelerator character and the & symbol typed on the label creates that accelerator character. To indicate which
text box would receive focus when the accelerator character of the label is
invoked, you must make sure you establish an appropriate tab sequence using the
Tab Order menu item from the main menu or using the combination of TabStop/TabIndex
properties. Typically, the label should have a Tab Order or TabIndex value that
is just - 1 of that of the control it serves.

A text box can be configured to display only lowercase
characters, only uppercase characters, or a mix. This characteristic is
controlled by the CharacterCasing property, which is an enumerator that
holds the same name. The default value of this property is Normal, which
indicates that the control can use a mix of lowercase and uppercase characters.
If you set this property to Lower, all existing characters, if any, in
the control would be converted to lowercase and all future characters typed in
the control would be automatically converted to lowercase. If you set this
property to Upper, all existing characters, if any, in the control would
be converted to uppercase and all future characters typed in the control would
be automatically converted to uppercase.

Text typed in a text box appears with its corresponding characters unless you changed the effect of the
CharacterCasing property from its default Normal value. This allows the user to see and be able to read the characters of
the control. If you prefer to make them un-readable, you can use the PasswordChar property. Although this property is a
char type of data, changing it actually accomplishes two things. If you
type a character in its field in the Properties window, for example if you type *, any character typed in it would be un-readable and be replaced by the value of this property. You can use any alphabetic character or digit to represent the characters that would be typed but you must provide only one character.

Methods of Managing a Text Box

The text box is based on the TextBox class whose immediate
parent is TextBoxBase. Like every .NET Framework class, it has a
constructor that can be used to dynamically create the control. The TextBoxBase
class provides other methods derived from the controlís parent or from
ancestor classes.

After creating a text box, it may be empty, the user can
start typing in it to fill it with text. You can programmatically assign it a
string to occupy it. Another way you can put or add text to the control is to
paste the content of the clipboard, using text from another control. The syntax
of the Paste() method is:

public void Paste();

The selection of text from a text box control can be
performed either by you or by a user. To select part of the text, you can
specify the starting point using the SelectionStart property. After the
starting position, you can specify the number of characters to include in the
selection. This is done using the SelectionLength property. The SelectionStart
and the SelectionLength properties allow you to programmatically select
text. The user, on the other hand, also knows how to select part of the text of
the control. These operations can also be performed using the Select() method.
Its syntax is:

public void Select(int start, int length);

Alternatively, the user may want to select the whole content
of the control. To programmatically select the whole text of a text box control,
call the SelectAll() method. Its syntax is:

public void __fastcall SelectAll();

After the text, in part or in whole, has been selected, you
or the user can manipulate it. For example, you can copy the selection to the
clipboard. This is done using the Copy() method. Its syntax is:

public void Copy();

To delete part of the text, the user can cut it. You can
programmatically do this using the Cut() method. Its syntax is:

public void Cut();

To delete the whole contents of the text box, you can call
the Clear() method. Its syntax is:

public void Clear();

Any operation performed on the text box can be undone using
the Undo() method whose syntax is: