|
Controls
A control is an object that can be drawn on to the Form to enable or enhance user
interaction with the application. Examples of these controls, TextBoxes, Buttons,
Labels, Radio Buttons, etc. All these Windows Controls are based on the Control class, the
base class for all controls. Visual Basic allows us to work with controls in
two ways: at design time and at runtime.
Working with controls at design time means, controls are visible to us and we can
work with them by dragging and dropping them from the Toolbox and setting their
properties in the properties window. Working at runtime means, controls are not visible
while designing, are created and assigned properties in code and are visible
only when the application is executed. There are many new controls added in Visual
Basic .NET and we will be working with some of the most popular controls in this section.
You can select the controls from the menu towards the left-hand side of this page.
Notable properties of most of these Windows Controls which are based on the Control
class itself are summarized in the table below. You can always find the properties
of the control with which you are working by pressing F4 on
the keyboard or by selecting View->Properties Window from
the main menu.
The Control Class
The Control class is in the System.Windows.Forms namespace.
It is a base class for the Windows Controls. The class hierarchy is shown below.
Object
MarshalByRefObject
Component
Control
ButtonBase, Etc, Etc
Button, Etc, Etc
Main class is the Object class from which MarshalByRefObject class is derived and
the Component class is derived from the MarshalByRefObject class and so on.
The properties of the Control object are summarized below. Properties are alphabetical
as seen in the properties window.
| Property | Description |
| AllowDrop | Indicates if the form can accept data that the user drags and drops into it |
| Anchor | Gets/Sets which edges of the control are anchored |
| BackColor | Gets/Sets the background color for the control |
| BackgroundImage | Gets/Sets the background image in the control |
| Bottom | Gets the distance bewteen the bottom of the control and the top of its container client area |
| Bounds | Gets/Sets the controls bounding rectangle |
| CanFocus | Returns a value specifying if the control can recieve focus |
| CanSelect | Returns a value specifying if the control can be selected |
| Capture | Gets/Sets a value specifying if the control has captured the mouse |
| CausesValidation | Gets/Sets a value specfying if the control causes validation for all controls that require validation |
| ContainsFocus | Returns a value specifying if the control has the input focus |
| ContextMenu | Gets/Sets the shortcut menu for the control |
| Controls | Gets/Sets the collection of controls contained within the control |
| Cursor | Gets/Sets the cursor to be displayed when the user moves the mouse over the form |
| DataBindings | Gets the data bindings for the control |
| Dock | Gets/Sets which edge of the parent a control is docked to |
| Enabled | Gets/Sets a value indicating if the control is enabled |
| Focused | Returns a value specifying if the control has input focus |
| Font | Gets/Sets the font for the control |
| ForeColor | Gets/Sets the foreground color of the control |
| HasChildren | Returns a value specifying if the control contains child controls |
| Height | Gets/Sets the height of the control |
| Left | Gets/Sets the x-coordinates of a control's left edge in pixels |
| Location | Gets/Sets the co-ordinates of the upper-left corner of the control |
| Name | Gets/Sets name for the control |
| Parent | Gets/Sets the control's parent container |
| Right | Returns the distance between the right edge of the control and the left edge of it's container |
| RightToLeft | Gets/Sets the value indicating if the alignment of the control's elements is reversed to support right-to-left fonts |
| Size | Gets/Sets size of the control in pixels |
| TabIndex | Gets/Sets the tab order of this control in its container |
| TabStop | Gets/Sets a value specifying if the user can tab to this control with the tab key |
| Tag | Gets/Sets an object that contains data about the control |
| Text | Gets/Sets the text for this control |
| Top | Gets/Sets the top coordinates of the control |
| Visible | Gets/Sets a value specifying if the control is visible |
| Width | Gets/Sets the width of the control |
Control Tab Order
To move focus from one control to other quickly using the keyboard we can use the
Tab key. We can set the order in which the focus is transferred by setting the tab
order. The tab order is the order in which controls on the form receive the focus
and is specified by the TabIndex property. To change the order in which a control
receives focus we need to set the TabIndex property to different value for each control
on the form. Lower values receive the focus first and proceed numerically through
higher values. If there is a tie between TabIndex values, the focus first goes to
the control that is closest to the front of the form.
We can also set the tab order graphically with Visual Studio by selecting Tab Index
from the View menu. Boxes containing current tab order appear in each control when
you select Tab Index from View menu. Click each control to set the correct tab
order in which you want the controls to receive focus.
|