328
Chapter 7 • Creating Windows Forms
Adding Status Bars to Forms
A status bar is a horizontal control that is usually positioned at the bottom of a
form. Status bars are used to display textual information such as date and time or
descriptions of menu items. Status bars also displays modes of the keyboard, such
as when the user presses the Insert, Num Lock, or Scroll Lock keys.Table 7.17
shows the properties of the StatusBar control.
Table 7.17
Properties of the StatusBar Control
Property
Description
(Bindings)
This collection holds all the bindings of properties of 
the status bar to data sources.
(Name)
Indicates the name used in code to identify the 
status bar.
AccessibleDescription
The description that will be reported to accessibility 
clients.
AccessibleName
The name that will be reported to accessibility clients.
AccessibleRole
The role that will be reported to accessibility clients.
AllowDrop
Determines if the status bar will receive drag-and-
drop notifications.
Anchor
The anchor of the status bar.
CausesValidation
Indicates whether the status bar causes and raises 
validation events.
ContextMenu
The shortcut menu to display when the user right-
clicks the status bar.
Cursor
The cursor that appears when the mouse passes over 
the status bar.
Dock
The docking location of the status bar, indicating 
which borders are docked to the container.
Enabled
Indicates whether the status bar is enabled.
Font
The font used to display text in the status bar.
IMEMode
Determines the IME  status of the status bar when 
selected.
Location
The position of the top-left corner of the status bar 
with respect to its container.
Locked
Determines if the status bar can be moved or resized.
Modifiers
Indicates the visibility level of the status bar.
www.syngress.com
Continued
Pdf reverse page order preview - re-order PDF pages in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Support Customizing Page Order of PDF Document in C# Project
how to move pages around in pdf file; how to rearrange pages in pdf document
Pdf reverse page order preview - VB.NET PDF Page Move Library: re-order PDF pages in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
Sort PDF Document Pages Using VB.NET Demo Code
how to rearrange pages in a pdf file; reorder pages in pdf document
Creating Windows Forms • Chapter 7
329
Panels
The panels in the status bar.
RightToLeft
Indicates whether the status bar should draw right-
to-left for RTL languages.
ShowPanels
Determines if the status bar displays panels, or if it 
displays a single line of text.
Size
The size of the status bar in pixels.
SizingGrip
Determines whether the status bar has a sizing grip.
TabIndex
Determines the index in the Tab order that the status 
bar will occupy.
TabStop
Indicates whether the user can use the Tab key to give 
focus to the status bar.
Text
The text contained in the status bar.
Visible
Determines whether the status bar is visible or 
hidden.
You can add panels to a status bar at design time or at runtime.We discuss
both methods. First, let’s take a look at adding panels to a status bar at design
time. For example, to add a panel with the text Spell Check to a status bar:
1. In the Toolbox, select the Win Forms tab, and then double-click the
StatusBar control.
2. In the Properties Window, set the ShowPanels property to True.
3. In the Properties Window, select the Panels property, and then choose
the ellipsis box.
4. In the StatusBarPanel Collection Editor, select the Add button.
5. In the Properties box, set the Text property to Spell Check and then
set the AutoSize property to Contents.
You can also add a panel to a status bar or change a panel’s text at runtime.
This is useful when you want to describe the functionality of menu items as the
mouse moves over them.Typically, you would create a panel at design time and
change only its text at runtime, but let’s see how you would add a panel to a
status bar dynamically:
Dim sbpStatusBarPanel As New StatusBarPanel()
www.syngress.com
Table 7.17
Continued
Property
Description
330
Chapter 7 • Creating Windows Forms
With StatusBar1
.ShowPanels = True
.Panels.Add(sbpStatusBarPanel)
End With
Now you can change the text of the panel dynamically. For example, as the
user moves the mouse over the New menu item in the File menu, you can
describe the functionality as follows:
StatusBar1.Panels(0).Text = "Creates a new file."
Adding Toolbars to Forms
A toolbar is another control that is often docked to an edge of a form. In the
.NET Framework, toolbars display buttons that can appear as standard buttons,
toggle-style buttons, or drop-down style buttons.Toolbar buttons can appear as
raised or flat—when the mouse pointer moves over a flat button, its appearance
changes to three-dimensional.Toolbars can also display drop-down menus that
activate commands. As is common throughout Windows, a button can display an
image along with text.Table 7.18 describes the properties of the Toolbar control:
Table 7.18
Properties of the Toolbar Control
Property
Description
(Bindings)
This collection holds all the bindings of properties of 
the toolbar to data sources.
(Name)
Indicates the name used in code to identify the 
toolbar.
AccessibleDescription The description that will be reported to accessibility 
clients.
AccessibleName
The name that will be reported to accessibility clients.
AccessibleRole
The role that will be reported to accessibility clients.
AllowDrop
Determines if the toolbar will receive drag-and-drop 
notifications.
Anchor
The anchor of the toolbar.
Appearance
Controls the appearance of the toolbar.
AutoSize
Controls whether the toolbar will automatically size 
itself based on button size.
www.syngress.com
Continued
Creating Windows Forms • Chapter 7
331
BackgroundImage
The background image used for the toolbar.
BorderStyle
Controls what type of border the toolbar will have.
Buttons
The collection of toolbar buttons that make up the 
toolbar.
ButtonSize
Suggests the size of buttons in the toolbar. Button 
sizes might still be different based on text, drop-down
arrows, and others.
CausesValidation
Indicates whether the toolbar causes and raises 
validation events.
ContextMenu
The shortcut menu to display when the user right-
clicks the toolbar.
Cursor
The cursor that appears when the mouse passes over 
the toolbar.
Divider
Controls whether the toolbar will display a 3D line at 
the top of its client area.
Dock
The docking location of the toolbar, indicating which 
borders are docked to the container.
DropDownArrows
Controls whether the toolbar will display an arrow on 
the side of drop-down buttons.
Enabled
Indicates whether the control is enabled.
Font
The font used to display text in the control.
ImageList
The ImageList control from which the toolbar will get 
button images.
IMEMode
Determines the IME status of the toolbar when 
selected.
Location
The position of the top-left corner of the toolbar with 
respect to its container.
Locked
Determines if the toolbar can be moved or resized.
Modifiers
Indicates the visibility level of the toolbar.
ShowToolTips
Indicates whether tool tips will be shown for each 
button, if available.
Size
The size of the toolbar in pixels.
TabIndex
Determines the index in the Tab order that the toolbar 
will occupy.
www.syngress.com
Table 7.18
Continued
Property
Description
Continued
332
Chapter 7 • Creating Windows Forms
TabStop
Indicates whether the user can use the Tab key to give 
focus to the toolbar.
TextAlign
Controls how the text is positioned relative to the 
image in each button.
Visible
Determines whether the toolbar is visible or hidden.
Wrappable
Indicates if more than one row of buttons is allowed.
This amount of functionality may seem daunting, but you do not need to be
familiar with all these properties to create a toolbar.As a minimum, you should
be aware of the Buttons property, which is the collection of buttons that that
make up a toolbar.You can use the Buttons property to add buttons to a toolbar
at design time or at runtime. Let’s discuss the most challenging method: how to
add a button to a toolbar at runtime.
As we have seen with other collections, you can use the Add method of the
Buttons collection to add a button to a toolbar. For example, to add a Save
button to a toolbar, use the following code:
Dim tbbSave As New ToolBarButton()
tlbToolbar.Buttons.Add(tbbSave)
We have now seen how to create forms and add controls to forms. In the
next section, we discuss binding data sources to forms.
Data Binding
We have now discussed many ways of displaying information to the user and col-
lecting information from the user. In most applications, the information displayed
comes from a data source and the information collected goes to a data source.
The Windows Forms framework allows you to bind data sources to forms, which
is a very convenient way to open and save datasets.There are two types of data
binding, and we discuss them in the following sections.
Simple Data Binding
In simple data binding, a single value within a data set is bound to a property of a
component. For example, the Text property of a text box can be bound to the
www.syngress.com
Table 7.18
Continued
Property
Description
Creating Windows Forms • Chapter 7
333
FirstName column of an Employees table.The following snippet shows the code
for this scenario:
Dim dtEmployee As DataTable
Dim txtFirstName As New Textbox
dtEmployee = dsDataSet.Tables("Employee")
txtFirstName.Bindings.Add("Text", dtEmployee, "FirstName")
Because the binding is simple, only one first name will be shown at a time.
This makes a text box a good choice for simple data binding—text boxes contain
only one piece of information at a time: the value of the Text property. Other
controls such as combo boxes and list boxes expose an Items collection that can
contain more than one piece of information at a time.These controls are good
candidates for complex data binding, which we discuss in the next section.
Complex Data Binding
In complex data binding, a whole dataset is bound to a component. For example, a
combo box can be data bound to the same dataset and display all first names in
its drop down box. Let’s look at the code:
Dim dtEmployee As DataTable
Dim cboFirstName As New ComboBox
dtEmployee = dsDataSet.Tables("Employee")
cboFirstName.DataSource = dtEmployee
cboFirstName.DisplayMember = "FirstName"
In contrast to the text box in the previous section, the combo box we used in
this example was bound using complex data binding.As you know, the drop-
down of the combo box can contain more than one item. In this example, all
employee first names will appear in the drop-down. Controls with an Items col-
lection make good candidates for complex data binding—grids are an especially
popular choice.When you bind data to a component, you can choose from a
number of data sources, which we discuss in the following section.
Data Sources for Data Binding
When you bind data to a component you can choose from several data sources. In
Visual Basic .NET, a data source is any grouping of data that implements the IList
www.syngress.com
334
Chapter 7 • Creating Windows Forms
interface.The IList interface represents a collection of objects that can be individu-
ally indexed.This means that you can use regular collections and even arrays as
data sources for data binding.Although not a comprehensive list,Table 7.19
describes possible data sources that are commonly used for data binding.
Table 7.19
Data Sources for Data Binding
Data Source
Description
DataTable
The representation of a table. DataTable contains two collec-
tions: DataColumn, representing the columns of data in a 
given table (which ultimately determine the kinds of data that 
can be entered into that table), and DataRow, representing 
the rows of data in a given table. This is the actual data 
within the table.
DataView
A customized view of a single DataTable that may be filtered, 
searched, or sorted. A DataView is the data snapshot used by 
complex bound controls.
DataSet
The in-memory cache that consists of tables, relations, and 
constraints. Each table has a collection of columns. These 
columns represent the arrangement of the DataSet. Each 
table can then have multiple rows, representing the data 
within the DataSet, which are aware of their original state 
along with their current state. In this manner, the DataSet 
can track changes that have occurred.
DataSetView
A customized view of the entire DataSet, analogous to a 
DataView, but with relations included. A TableSettings collec-
tion allows you to set default filters and sort options for any 
views that the DataSetView has for a given table.
Array
An ordered collection of data contained in a variable and ref-
erenced by a single variable name. Each element of the array 
can be referenced by a numerical subscript.
Collection
An object that contains zero or more objects. Collections 
normally contain objects of the same class.
In the next section, we discuss the Data Form Wizard, an easy way to quickly
generate a data-bound form.
Using the Data Form Wizard
The Data Form Wizard allows you to quickly generate a data-bound form.The
wizard allows you to specify a dataset, tables and fields, and other display options.
The wizard then produces and binds controls on the form to display data. After
www.syngress.com
Creating Windows Forms • Chapter 7
335
you produce the controls, you can change their properties to suit your needs.
Let’s walk through producing a data-bound form:
1. From the Data tab of the Toolbox, drag a DataFormWizard onto the
form.The wizard is launched (see Figure 7.15).
2. In the wizard’s second pane (shown in Figure 7.16), select a previously
created dataset.
www.syngress.com
Figure 7.15
The Data Form Wizard
Figure 7.16
The Data Form Wizard—The Second Pane
336
Chapter 7 • Creating Windows Forms
3. In the third pane, do not check the Include Update Method box (see
Figure 7.17).
4. In the fourth pane, select the appropriate table and the columns (see
Figure 7.18).
5. In the fifth pane, under How do you want to display your data?,
select Single records (see Figure 7.19).
www.syngress.com
Figure 7.17
The Data Form Wizard—The Third Pane
Figure 7.18
The Data Form Wizard—The Fourth Pane
Creating Windows Forms • Chapter 7
337
6. Click Finish. On the form, the wizard creates a Load button and one
control for each column.When the Data Form Wizard has finished, you
have a form that is ready to run and display data (see Figure 7.20).
www.syngress.com
Figure 7.19
The Data Form Wizard—The Fifth Pane
Figure 7.20
The Form Created by the Data Form Wizard
Documents you may be interested
Documents you may be interested