structures and more controls chapter microsoft visual basic.net: reloaded 1
TRANSCRIPT
Structures and More Controls
Chapter Microsoft Visual Basic .NET: Reloaded
1
2Microsoft Visual Basic .NET: Reloaded
Objectives
• Create a structure
• Declare and manipulate a structure variable
• Differentiate between a structure variable and member variables
• Create an array of structure variables
• Include a radio button in an interface
3Microsoft Visual Basic .NET: Reloaded
Objectives (continued)
• Include a check box in an interface
• Include a list box in an interface
• Code a text box’s KeyPress event
• Code a text box’s Enter event
• Associate a procedure with different events
4Microsoft Visual Basic .NET: Reloaded
Structures
• You can create your own data types using the Structure statement
• Referred to as “user-defined data types” or “structures”
• Structures contain “member variables” between Structure clause and End Structure clause
• Member variables are declared using Public keyword followed by the variable name and then the desired data type
5Microsoft Visual Basic .NET: Reloaded
HOW TO…
6Microsoft Visual Basic .NET: Reloaded
Using a Structure to Declare a Variable
• Variables declared using a structure are often referred to as “structure variables”
7Microsoft Visual Basic .NET: Reloaded
HOW TO…
8Microsoft Visual Basic .NET: Reloaded
Passing a Structure Variable to a Procedure
• The personnel manager at Johnsons Lumber wants an application that he can use to save each manager’s employee number, name, and salary in a sequential access file• Figure 10.4 shows a sample run of the
Johnsons Lumber application
• Figure 10.5 shows how you can code the application without using a structure
• Figure 10.6 shows coding the application using an Employee structure to group together the employee data
9Microsoft Visual Basic .NET: Reloaded
Passing a Structure Variable to a Procedure (continued)
10Microsoft Visual Basic .NET: Reloaded
Passing a Structure Variable to a Procedure (continued)
11Microsoft Visual Basic .NET: Reloaded
Passing a Structure Variable to a Procedure (continued)
12Microsoft Visual Basic .NET: Reloaded
Passing a Structure Variable to a Procedure (continued)
13Microsoft Visual Basic .NET: Reloaded
Passing a Structure Variable to a Procedure (continued)
14Microsoft Visual Basic .NET: Reloaded
Passing a Structure Variable to a Procedure (continued)
15Microsoft Visual Basic .NET: Reloaded
Creating an Array of Structure Variables
• An array of structures can be used in place of two or more parallel arrays
• Figures 10.7 and 10.8 demonstrate using an array of structure variables for the Takoda Tapahe application first introduced in chapter 9
16Microsoft Visual Basic .NET: Reloaded
Creating an Array of Structure Variables (continued)
17Microsoft Visual Basic .NET: Reloaded
Creating an Array of Structure Variables (continued)
18Microsoft Visual Basic .NET: Reloaded
Adding a Radio Button to the Form
• Use Radio Button Tool in the toolbox
• Radio Button allows you to limit user to only one choice in a group of two or more related and mutually exclusive choices.
• Radio buttons are placed in a group box control or panel control to be mutually exclusive
• Group box or panel control must be added to form before adding radio button
• Set default button within group by setting Checked property to True
19Microsoft Visual Basic .NET: Reloaded
HOW TO…
20Microsoft Visual Basic .NET: Reloaded
Adding a Radio Button to the Form (continued)
21Microsoft Visual Basic .NET: Reloaded
Adding a Radio Button to the Form (continued)
22Microsoft Visual Basic .NET: Reloaded
Adding a Radio Button to the Form (continued)
23Microsoft Visual Basic .NET: Reloaded
Adding a Check Box Control to the Form
• Check boxes allow user to select any number of choices from a group of one or more independent and nonexclusive choices
24Microsoft Visual Basic .NET: Reloaded
Adding a Check Box Control to the Form (continued)
25Microsoft Visual Basic .NET: Reloaded
Adding a Check Box Control to the Form (continued)
26Microsoft Visual Basic .NET: Reloaded
Adding a Check Box Control to the Form (continued)
27Microsoft Visual Basic .NET: Reloaded
Adding a List Box to an Interface• Use a list box to display a list of choices from
which the user can select zero, one, or more choices
28Microsoft Visual Basic .NET: Reloaded
Adding a List Box to an Interface (continued)
29Microsoft Visual Basic .NET: Reloaded
Adding Items to a List Box
• Items in a list box belong to Items Collection
• Collection is group of one or more individual objects treated as one unit
• Items in the collection identified by an index
• An index is a unique number determined by the item’s order of placement in the collection starting with zero
• Add method adds items to the list box
• The item selected when interface first appears is referred to as the “default list box item”
30Microsoft Visual Basic .NET: Reloaded
HOW TO…
31Microsoft Visual Basic .NET: Reloaded
The SelectedItem and SelectedIndex Properties
32Microsoft Visual Basic .NET: Reloaded
The SelectedItem and SelectedIndex Properties (continued)
33Microsoft Visual Basic .NET: Reloaded
The SelectedItem and SelectedIndex Properties (continued)
34Microsoft Visual Basic .NET: Reloaded
The SelectedItem and SelectedIndex Properties (continued)
35Microsoft Visual Basic .NET: Reloaded
Using the KeyPress Event
• A control’s KeyPress event occurs when the user presses a key while the control has focus
• KeyPress event has two parameters sender and e
• Use e.KeyChar property to determine which key was pressed
• Use e.Handled property to cancel if key was inappropriate for desired action
36Microsoft Visual Basic .NET: Reloaded
HOW TO…
37Microsoft Visual Basic .NET: Reloaded
Selecting the Existing Text in a Text Box
• Use SelectAll method in appropriate Sub such as the Enter event for text box • Enter event occurs when user tabs to control
and focus is received
38Microsoft Visual Basic .NET: Reloaded
Associating a Procedure with Different Events
• List each event, separated by commas, in the Handles section of the procedure header
39Microsoft Visual Basic .NET: Reloaded
Programming Example – Glovers Application
• Glovers Industries stores the item numbers, wholesale prices, and retail prices of the items it sells in a sequential access file named items.txt.
• Opal Jacoby, the company’s sales manager, wants an application that allows her to enter an item number and then display either the wholesale price or the retail price
40Microsoft Visual Basic .NET: Reloaded
Programming Example – Glovers Application (continued)
• Data is stored in items.txt, one item per line
• Item number is first,
• then wholesale price, and
• then retail price
41Microsoft Visual Basic .NET: Reloaded
TOE Chart
42Microsoft Visual Basic .NET: Reloaded
User Interface
43Microsoft Visual Basic .NET: Reloaded
Objects, Properties, and Settings
44Microsoft Visual Basic .NET: Reloaded
Tab Order
45Microsoft Visual Basic .NET: Reloaded
Pseudocode
frmGlovers Load event procedure
Try
open items.txt for input
repeat until no more characters to read or end of array
read an item number, wholesale price, and retail price and
assign it to the mitmItems array
add the item number to the lstNumber control
add 1 to the variable that keeps track of the array subscripts
end repeat
close the items.txt file
select the first item in lstNumbers control
Catch (use general catch statement to handle any errors)
if error occurs, display exception description in a messagebox
46Microsoft Visual Basic .NET: Reloaded
Pseudocode (continued)
btnExit Click event procedureclose application
btnDisplay click Event procedureassign item number selected in lstNumbers to strSearchFornumber variablerepeat until item number is located in mitmItems array
add 1 to the variable that keeps track of array subscriptsif radWholesale control is select
display in lblPrice wholesale price stored in mitmItems arrayelse
display in lblPrice retail price stored in mitmItems arrayradRetail_Click, radWholesale_Click event procedures and lstNumbers.SelectedIndex Changed procedure
clear the contents of the lblPrice control
47Microsoft Visual Basic .NET: Reloaded
Code
48Microsoft Visual Basic .NET: Reloaded
Code (continued)
49Microsoft Visual Basic .NET: Reloaded
Code (continued)
50Microsoft Visual Basic .NET: Reloaded
Summary• You can use the Structure statement to define
a user-defined data type (or structure) in Visual Basic .NET
• Typically enter the Structure statement in the form’s Declarations section
• A structure variable contains one or more member variables
• You access a member variable using the structure variable’s name, followed by the dot member access operator and the member variable’s name
51Microsoft Visual Basic .NET: Reloaded
Summary (continued)
• Use an assignment statement to assign a value to a member variable• Data type of value must match data type of
member variable
• Structure variable can be passed to procedures
• You access a member variable in an array element using the array’s name, followed by the element’s subscript enclosed in parentheses, the dot member access operator, and the member variable’s name
52Microsoft Visual Basic .NET: Reloaded
Summary (continued)
• Use radio buttons when you want to limit the user to one of two or more related and mutually exclusive choices
• Two is the minimum number of radio buttons in a group recommended maximum is seven
• The label in the radio button’s Text property should be entered using sentence capitalization
• Assign a unique access key to each radio button in an interface
53Microsoft Visual Basic .NET: Reloaded
Summary (continued)
• Use a group box control (or a panel control) to create separate groups of radio buttons• Only one button in each group can be selected
at any one time
• Designate a default radio button in each group of radio buttons
• Use check boxes when you want to allow the user to select any number of choices from a group of one or more independent and nonexclusive choices
54Microsoft Visual Basic .NET: Reloaded
Summary (continued)
• A list box should display minimum of three selections and maximum of eight selections at a time
• Default item in list box should be either the most used selection or the first selection in the list
• You can use the e parameter’s KeyChar and Handled properties to prevent a text box from accepting inappropriate characters
• You can enter more than one event after the Handles keyword in a procedure