STARTING OUT WITH Visual Basic 2008 FOURTH EDITION
STARTING OUT WITH Visual Basic 2008 FOURTH EDITION Tony Gaddis Haywood Community College Kip Irvine Florida International University Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 1
Chapter 5 Lists, Loops, Validation, and More Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
Introduction n This chapter covers the Visual Basic looping statements n Do … While n Do … Until n For … Next It also discusses the use of n List Boxes n Combo Boxes As well as presenting some properties and events used for user input validation Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 3
5. 1 Input Boxes Provide a Simple Way to Gather Input Without Placing a Text Box on a Form Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
Format of the Input. Box Function Input. Box(Prompt [, Title] [, Default] [, Xpos] [, Ypos]) n n n Prompt - message to the user (required) Title - text for the box's title bar Default - default text for user's input Xpos - X coordinate for the box's position Ypos - Y coordinate for the box's position Square brackets around Title and following arguments indicate these are optional Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 5
Sample Input. Box Usage str. User. Input = Input. Box("Enter the distance. ", _ "Provide a Value", "150") n If the users clicks OK without entering a value, 150 will be assigned to str. User. Input due to the default value Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 6
Xpos & Ypos n n n Xpos specifies the distance from the left of the screen to the left side of the box Ypos specified the distance from the top of the screen to the top of the box Both are specified in pixels Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 7
5. 2 List Boxes Display a List of Items and Allow the User to Select an Item From the List Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
The List. Box Control n n A List. Box control displays a list of items and allows the user to select one or more Drag from Toolbox to create this control on a form Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 9
List. Box Items Property n n n The Items property holds an entire list of values from which the user may choose The list of values may be established at run time or as part of the form design To set list values in the form design: n Select the list box in the Design window n View properties & click the Items ellipsis button n This property is a collection, a list of values n Type each value on a separate line Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 10
List. Box Items. Count Property n n This property returns an integer with the number of entries stored in the Items property Example of use: If lst. Employees. Items. Count = 0 Then Message. Box. Show("The list has no items!") End If n The number of entries in the list can be assigned to an integer variable num. Employees = lst. Employees. Items. Count Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 11
Item Indexing n n n The Items property values can be accessed from your VB code Each item value is given a sequential index n The first item has an index of 0 n The second item has an index of 1, etc. Example: name = lst. Customers. Items(2) ' Access the 3 rd item value Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 12
Index Out of Range Error n The index of the last item is always list. Items. Count-1 n n n Reference to an index greater than Count-1 or less than zero throws an exception An exception handler can trap this error The variable ex captures the exception thrown Try str. Input = lst. Months. Items(n). To. String() Catch ex as Exception Message. Box. show(ex. Message) End Try Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 13
List. Box Select. Index Property n n The Select. Index property returns an integer with the index of the item selected by the user If no item is selected, the value is set to -1 (an invalid index value) Can use Select. Index to determine if an item has been selected by comparing to -1 Example: If lst. Locations. Selected. Index <> -1 Then location = lst. Locations. Items(lst. Locations. Selected. Index) End If Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 14
List. Box Selected. Item Property n Instead of using the Selected. Index property as follows: If lst. Months. Selected. Index <> -1 Then month = lst. Months. Items(lst. Months. Selected. Index) End If n The Selected. Item property can be used to retrieve the value of a selected item as follows: If lst. Months. Selected. Index <> -1 Then month = lst. Months. Selected. Item. To. String) End If Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 15
List. Box Sorted Property n n n Sorted is a boolean property When set to true, values in the Items property are displayed in alphabetical order When set to false, values in the Items property are displayed in the order they were added Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 16
List. Box Items. Add Method n n Items can be added to the end of a List. Box list in your VB code using the Add method Format is List. Box. Items. Add(Item) n n n List. Box is the name of the control Item is a string value to add to the Items property Example: lst. Students. Items. Add("Sharon") Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 17
List. Box Items. Insert Method n Items can be added at a specific position of a List. Box in VB code using the Insert method List. Box. Items. Insert(Index, Item) n n Index specifies position where Item is placed Index is zero based similar to Selected. Index property Items that follow are “pushed” down Example inserting "Jean“ as the 3 rd item lst. Students. Items. Insert(2, "Jean") Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 18
List. Box Methods to Remove Items n List. Box. Items. Remove. At(Index) n n Removes item at the specified index List. Box. Items. Remove(Item) n Removes item with value specified by Item n List. Box. Items. Clear() n Removes all items in the Items property Examples: n lst. Students. Items. Remove. At(2) lst. Students. Items. Remove(“Jean”) lst. Students. Items. Clear() Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley ‘remove 3 rd item ‘remove item Jean ‘remove all items Slide 5 - 19
Other List. Box Methods n List. Box. Items. Contains(Item) n Returns true if Item is found in the collection n List. Box. Items. Index. Of(Item) n Returns an integer with the index position of the first occurrence of Item in the collection Examples: n bln. Found = lst. Months. Items. Contains(“March”) int. Index = lst. Months. Items. Index. Of(“March”) n Tutorial 5 -1 provides more examples of List. Box controls, methods and properties Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 20
5. 3 The Do While Loop A Loop Is Part of a Program That Repeats Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
Repetition Structure (or Loop) n Visual Basic has three structures that allow a statement or group of statements to repeat n Do While n Do Until n For. . . Next Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 22
Do While Flowchart n n The Do While loop If the expression is true, the statement(s) are executed True Expression is then Expression statement(s) evaluated again As long as the False expression remains true, the statement(s) continue to be repeated Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 23
Do While Syntax n n Do, While, and Loop are new keywords The Do While statement marks the beginning of the loop The Loop statement marks the end The statements to repeat are found between these and called the body of the loop Do While expression statement(s) Loop Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 24
Do While Example Private Sub btn. Run. Demo_Click(By. Val sender As System. Object, _ By. Val e As System. Event. Args) Handles btn. Run. Demo. Click ' Demonstrate the Do While loop Dim int. Count As Integer = 0 Do While int. Count < 10 lst. Output. Items. Add("Hello") int. Count += 1 Loop End Sub Note that programming style dictates the body of the loop be indented for clarity Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 25
Infinite Loops n n A loop must have some way to end itself Something within the body of the loop must eventually force the test expression to false In the previous example n The loop continues to repeat n int. Count increases by one for each repetition n Finally int. Count is not <10 and the loop ends If the test expression can never be false, the loop will continue to repeat forever n This is called an infinite loop Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 26
Counters n n Variables called counters are frequently used to control Do While loops n int. Count in previous example is a counter Counters generally initialized before loop begins Dim int. Count As Integer = 0 n Counter must be modified in body of loop int. Count += 1 n The test expression ends the loop when the counter compares to some value Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 27
Pretest vs. Posttest Loops n n Previous Do While loops are in pretest form n Expression is tested before the body of the loop is executed n The body may not be executed at all Do While loops also have a posttest form n The body of the loop is executed first n Then the expression is evaluated n Body repeats as long as expression is true n A posttest loop always executes the body of the loop at least once Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 28
Posttest Loop Syntax and Flowchart Do statement(s) Loop While expression n The statement(s) must be executed at least once, irrespective of the expression used statement(s) Expression True False Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 29
A Posttest Running Total Loop int. Count = 1 ' Initialize the counter dec. Total = 0 ' Initialize total Do str. Input = Input. Box("Enter the sales for day " & _ int. Count. To. String, "Sales Amount Needed") If str. Input <> "" Then dec. Sales = CDec(str. Input) dec. Total += dec. Sales ' Add sales to total int. Count += 1 ' Increment the counter End If Loop While int. Count <= 5 n n Tutorial 5 -4 uses the code above in pretest form as part of a more complete example Tutorial 5 -5 demonstrates how to structure a loop such that the user can specify the iterations Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 30
5. 4 The Do Until and For Next Loops A Do Until Loop Iterates Until Its Test Expression Is True The For. . . Next Loop Is Designed to Use a Counter Variable and Iterates a Specific Number of Times Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
Do Until vs. Do While n n n A Do While loop n Repeats as long as its test expression is true n Ends when its test expression becomes false A Do Until loop n Repeats as long as its test expression is false n Ends when its test expression becomes true The Do Until loop has a pretest and posttest form just as a Do While loop Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 32
Do Until: Pretest & Posttest Forms n Pretest: Do Until expression statement(s) Loop n Posttest: Do statement(s) Loop Until expression n Tutorial 5 -6 provides a hands-on example of a pretest Do Until loop Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 33
Do Until Loop – Test Score Average str. Input = Input. Box("How many test scores do you " _ & “want to average? ", "Enter a Value") int. Num. Scores = CInt(str. Input) ‘ Store starting values sng. Total = 0 int. Count = 1 ‘ Get the test scores Do Until int. Count > int. Num. Scores str. Input = Input. Box("Enter the value for test score " _ & int. Count. To. String, "Test Score Needed") sng. Total = sng. Total + CSng(str. Input) int. Count = int. Count + 1 Loop ‘ Calculate the average If int. Num. Scores > 0 then sng. Average = sng. Total / int. Num. Scores Else sng. Average = 0. 0 Slide 5 - 34 End. Copyright If © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
For…Next Loop n Ideal for loops that require a counter For Counter. Variable = Start. Value To End. Value [Step] statement Next [Counter. Variable] n n n For, To, and Next are keywords Counter. Variable tracks number of iterations Start. Value is initial value of counter End. Value is counter number of final iteration Optional Step allows the counter to increment at a value other than 1 at each iteration of the loop Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 35
For…Next Flowchart set counter to Start. Value Counter = End. Value? False statement(s) increment counter True Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 36
For…Next Example n The following code from Tutorial 5 -7 uses a For…Next loop to place the squares of the numbers 1 through 10 in a List. Box For int. Count = 1 To 10 int. Square = CInt(int. Count ^ 2) str. Temp = "The square of " & int. Count. To. String _ & “ is “ & int. Square. To. String lst. Output. Items. Add(str. Temp) Next int. Count n Tutorial 5 -8 uses a For…Next loop to move a Picture. Box control around a window Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 37
More on the Step. Value n n It’s optional and if not specified, defaults to 1 The following loop iterates 11 times with counter values 0, 10, 20, …, 80, 90, 100 For x = 0 To 100 Step 10 Message. Box. Show("x is now " & x. To. String) Next x n Step. Value may be negative, causing the loop to count downward For x = 10 To 1 Step -1 Message. Box. Show("x is now " & x. To. String) Next x Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 38
Exiting a Loop Prematurely n n n In some cases it is convenient to end a loop before the test condition would end it The following statements accomplish this n Exit Do (used in Do While or Until loops) n Exit For (used in For Next loops) Use this capability with caution n It bypasses normal loop termination n Makes code more difficult to debug Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 39
Example: Exit a Loop Prematurely max. Numbers = CInt(Input. Box("How many numbers do " & _ "you wish to sum? ")) total = 0 For x = 1 to max. Numbers input = Input. Box("Enter a number. ") If input = "" Then Exit For Else num = CDbl(input) total += num End If Next x Message. Box. Show(“Sum of the numbers is " & total. To. String) Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 40
When to Use the Do While Loop n n Use Do While when the loop should repeat as long as the test expression is true Can be written as a pretest or posttest loop A pretest Do While is ideal when the body should not be perfomed for a test expression that is initially false Posttest loops are ideal when you always want the loop to iterate at least once Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 41
When to Use the Do Until Loop n n Use Do Until when the loop should repeat as long as the test expression is false Can be written as a pretest or posttest loop A pretest Do Until is ideal when the body should not be perfomed for a test expression that is initially true Posttest loops are ideal when you always want the loop to iterate at least once Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 42
When to Use the For Next Loop n n The For. . . Next loop is a pretest loop ideal when a counter is needed It automatically increments the counter variable at the end of each iteration The loop repeats as long as the counter variable is not greater than an end value Used primarily when the number of required iterations is known Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 43
5. 5 Nested Loops A Loop that is Inside Another Loop is Called a Nested Loop Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
Nested Loops n n The body of a loop can contain any type of VB statements including another loop When a loop is found within the body of another loop, it’s called a nested loop Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 45
Nested Loop Example n A clock is an example of a nested loop n Minute hand repeats 60 times for each hour n Second hand repeats 60 times for each minute For hours = 0 To 24 lbl. Hours. Text = hours. To. String For minutes = 0 To 59 lbl. Minutes. Text = minutes. To. String For seconds = 0 To 59 lbl. Seconds. Text = seconds. To. String Next seconds Next minutes Next hours Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 46
Nested Loop Example Analysis n n n The innermost loop will iterate 60 times for each iteration of the middle loop The middle loop will iterate 60 times for each iteration of the outermost loop 24 iterations of the outermost loop require: n 1, 440 iterations of the middle loop n 86, 400 iterations of the innermost loop An inner loop goes through all its iterations for each iteration of the outer loop Multiply iterations of all loops to get the total iterations of the innermost loop Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 47
5. 6 Multicolumn List Boxes, Checked List Boxes and Combo Boxes A Multicolumn List Box Displays Items in Columns A Checked List Box Displays a Check Box Next to Each Item in the List A Combo Box Is Like a List Box Combined With a Text Box Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
List Box Multicolumn Property n n n The List. Box has a Multicolumn property n Boolean property with default value of false n If set to true, entries can appear side by side Below, Column. Width is set to 30 Note the appearance of a horizontal scroll bar in this case Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 49
Checked List Box n n n A form of List. Box with the list box properties and methods already discussed One item at a time may be selected but many items in a Checked List Box can be checked The Check. On. Click property determines how items may be checked n False - user clicks item once to select it, again to check it n True - user clicks item only once to both select it and check it Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 50
Finding the Status of Checked Items n The Get. Item. Checked method returns true if the item at Index has been checked Checked. List. Box. Get. Item. Checked(Index) Dim i as Integer Dim int. Checked. Cities as Integer = 0 For i = 0 to clb. Cities. Items. Count – 1 If clb. Cities. Get. Item. Checked(i) = True Then int. Checked. Cities += 1 End If Next i Message. Box. Show(“You checked “ & _ int. Checked. Cities. Tostring() & “ cities. ”) Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 51
Combo Boxes Similar to List Boxes n n Both display a list of items to the user Both have Items, Items. Count, Selected. Index, Selected. Item, and Sorted properties Both have Items. Add, Items. Clear, Items. Remove, and Items. Remove. At methods These properties and methods work the same with combo boxes and list boxes Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 52
Additional Combo Box Features n n n A combo box also functions like a text box The user may enter text into a combo box Or the user may select the text from a series of list box type choices Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 53
Combo Box Styles n n Simple Combo Box List is always shown n Drop-down Combo Box List appears when user clicks down arrow User can type text or select Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 54
Combo Box Styles n n n Drop-down List Combo Box Behaves like a Drop-Down Combo Box, but the user may not enter text directly Tutorial 5 -9 demonstrates each style of combo box Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 55
Choosing a Combo Box Style n n If restricting the user to select items listed n If empty space – use List. Box n If limited space – use drop-down list Combo. Box If allowing user to select an item listed or enter an entirely new item n If empty space – use simple Combo. Box n If limited space – use drop-down Combo. Box Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 56
5. 7 Input Validation As Long As a User Enters Bad Input, the Application Will Produce Bad Output Applications Should Be Written to Filter Out Bad Input Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
Examples of Input Validation n n Numbers are checked to ensure they are within a range of possible values n For example, there are 168 hours in a week n A person can’t work more than 168 hours a week Values are checked for their “reasonableness” n A person might possibly work 168 hours in a week n However, this is highly improbable Items selected from a menu or a set of choices are checked to ensure these options are available Variables are checked for values that might cause problems, such as division by zero Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 58
Causes. Validation/Validating Event n n A control’s Validating event is triggered when focus is shifting from that control to a control whose Causes. Validation property is true The Validating event of the control losing the focus fires before focus is lost This allows your code to validate an entry just before focus shifts n If user shifts focus, input must be complete Tutorial 5 -10 demonstrates this capability Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 59
The Validated Event n n A control’s Validated event is triggered n After the Validating event n After focus has been lost Allows operations on input that should occur only after the user moves away from the field Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 60
Select Text with Select. All Method n n Select. All makes correcting invalid input easier If you know which Text. Box is in error you can: n Use the Focus method to position the cursor n Use the Select. All method to select the text Then the user need not erase incorrect text n Simply start typing to enter the corrected text If txt. Name is in error: n n txt. Name. Focus() txt. Name. Select. All() Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 61
Using the With…End Statement n n A With statement establishes a default object in effect until an End With is encountered Instead of repeating txt. Num 1 in this code txt. Num 1. Selection. Start = 0 txt. Num 1. Selection. Length = txt. Num 1. Text. Length n With allows you to reference the txt. Num 1 object without specifying it repeatedly With txt. Num 1. Selection. Start = 0. Selection. Length =. Text. Length End With Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 62
5. 8 Tool Tips Are a Standard, Convenient Way of Providing Help to Users of an Application The Tool. Tip Control Allows You to Assign Pop-up Hints to the Other Controls on a Form Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
What is a Tool Tip? n n n A Tool Tip is the short text message you see when holding the mouse over a control These are easy to set up and use in Visual Basic forms The Tool. Tip control allows you to create Tool. Tips for other controls on a form Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 64
Setting Up Tool. Tips n n n Display the form design window Double-click the Tool. Tip tool in the Toolbox The Tool. Tip control is invisible at runtime so n It appears in the component tray, not the form n Component tray shows at the bottom of the design window Tool. Tips are now enabled for this form Form controls now have a Tool. Tip property This new property holds the text string that will be displayed for that control Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 65
Controlling the Tool Tips n n Select the Tool. Tip control from the tray View Properties window to see the following n An Initial. Delay property that regulates the delay before a tip appears n An Auto. Pop. Delay that determines how long a tip is displayed n Reshow. Delay determines the time between the display of different tips as the user moves the mouse from control to control Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 66
5. 9 Building the Vehicle Loan Calculator Application This application utilizes loops, input validation, and tool tips. It also makes use of some Visual Basic intrinsic financial functions. Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley
Vehicle Loan Calculator Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 68
Calculate Button Flowchart Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 69
Radio Button Check. Changed Events Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 70
Cost Textbox Validating Event Copyright © 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Slide 5 - 71
- Slides: 71