+ All Categories
Home > Documents > Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation,...

Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation,...

Date post: 27-Mar-2015
Category:
Upload: david-douglas
View: 235 times
Download: 15 times
Share this document with a friend
Popular Tags:
64
Chapter 5, Slide 1 Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More
Transcript
Page 1: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 1 Starting Out with Visual Basic 3rd Edition

Chapter 5

Lists, Loops,

Validation, and More

Page 2: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 2 Starting Out with Visual Basic 3rd Edition

Introduction

Page 3: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 3 Starting Out with Visual Basic 3rd Edition

Chapter 5 Topics This chapter covers the Visual Basic looping

statements• Do … While• Do … Until• For … Next

It also discusses the use of • List Boxes• Combo Boxes

As well as presenting some properties and events used for user input validation

Page 4: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 4 Starting Out with Visual Basic 3rd Edition

Section 5.1Input Boxes

Input Boxes Provide a Simple Way to Gather Input Without Placing a Text Box on a Form

Page 5: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 5 Starting Out with Visual Basic 3rd Edition

Format of the InputBox Function

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

InputBox(Prompt [,Title] [,Default] [,Xpos] [,Ypos])

Page 6: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 6 Starting Out with Visual Basic 3rd Edition

Sample InputBox Usage

strUserInput = InputBox("Enter the distance.", _ "Provide a Value", "150")

If the users clicks OK without entering a value, 150 will be assigned to strUserInput due to the default value

Page 7: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 7 Starting Out with Visual Basic 3rd Edition

Xpos, Ypos, and Twips

Xpos specifies the distance from the left of the screen to the left side of the box

Ypos, from the top of the screen to the top of the box

Both are specified in twips One twip is 1/440th inch

Page 8: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 8 Starting Out with Visual Basic 3rd Edition

Section 5.2List Boxes

List Boxes Display a List of Items and Allow the User to Select an Item From the List

Page 9: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 9 Starting Out with Visual Basic 3rd Edition

ListBox Items Property

This property holds the entire list of items from which the user may choose

The list values may be established at run time or as part of the form design

To set list values in the form design:• Select the list box in the Design window• Click on ellipses button for the Items property• This property is a collection, a list of values• Type each value on a separate line

Page 10: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 10 Starting Out with Visual Basic 3rd Edition

ListBox Items.Count Property

This property holds the number of items that are stored in the Items property

Example of use:

The number of items in the list can be assigned to an integer variable

If lstEmployees.Items.Count = 0 ThenMessageBox.Show("The list has no items!")

End If

numEmployees = lstEmployees.Items.Count

Page 11: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 11 Starting Out with Visual Basic 3rd Edition

Item Indexing

The Items property values can be accessed from your VB code

Each item value is given a sequential index• The first item has an index of 0• The second item has an index of 1, etc.

Example:

name = lstCustomers.Items(2)' Access the 3rd item value

Page 12: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 12 Starting Out with Visual Basic 3rd Edition

Index Out of Range Error

The index of the last item is always list.Items.Count-1

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

TrystrInput = lstMonths.Items(n).ToString()

Catch ex as ExceptionMessageBox.show(ex.Message)

End Try

Page 13: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 13 Starting Out with Visual Basic 3rd Edition

ListBox SelectIndex Property

Use the SelectIndex property to retrieve the index of an item selected by the user

If no item is selected, the value is set to -1 (an invalid index value)

Can use SelectIndex to determine if an item has been selected by comparing to -1

Example:

If lstLocations.SelectedIndex <> -1 Thenlocation = lstLocations.Items(lstLocations.SelectedIndex)

End If

Page 14: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 14 Starting Out with Visual Basic 3rd Edition

ListBox SelectedItem Property

Instead of using the SelectedIndex property as follows:

The SelectedItem property can be used to retrieve a selected item value as shown

If lstMonths.SelectedIndex <> -1 Thenmonth = lstMonths.Items(lstMonths.SelectedIndex)

End If

If lstMonths.SelectedIndex <> -1 Thenmonth = lstMonths.SelectedItem.Value)

End If

Page 15: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 15 Starting Out with Visual Basic 3rd Edition

ListBox Sorted Property

Sorted is a boolean property If true, causes the values in the Items

property to be displayed in alphabetical order If false, values in the Items property are

displayed in the order they were added

Page 16: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 16 Starting Out with Visual Basic 3rd Edition

ListBox Items.Add Method

Items can be added to the end of a ListBox list in your VB code using the Add method

Format is ListBox.Items.Add(Item)

ListBox is the name of the control Item is the value to add to the Items property Example:

lstStudents.Items.Add("Sharon")

Page 17: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 17 Starting Out with Visual Basic 3rd Edition

ListBox Items.Insert Method

Items can be added at a specific position of a ListBox in VB code using the Insert method

ListBox.Items.Insert(Index, Item)

Index specifies position where Item is placed Index is zero based similar to SelectedIndex

property Items that follow are “pushed” down Example inserting "Jean“ as the 3rd item

lstStudents.Items.Insert(2, "Jean")

Page 18: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 18 Starting Out with Visual Basic 3rd Edition

ListBox Methods to Remove Items ListBox.Items.RemoveAt(Index)

• Removes item at the specified index ListBox.Items.Remove(Item)

• Removes item with value specified by Item ListBox.Items.Clear()

• Removes all items in the Items property Examples:

lstStudents.Items.RemoveAt(2) ‘remove 3rd itemlstStudents.Items.Remove(“Jean”) ‘remove item JeanlstStudents.Items.Clear() ‘remove all items

Page 19: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 19 Starting Out with Visual Basic 3rd Edition

Other ListBox Methods ListBox.Items.Contains(Item)

• Returns true if Item is found in the collection ListBox.Items.IndexOf(Item)

• Returns an integer with the index position of the first occurrence of Item in the collection

Examples:

Tutorial 5-1 provides more examples of ListBox controls, methods and properties

blnFound = lstMonths.Items.Contains(“March”)intIndex = lstMonths.Items.IndexOf(“March”)

Page 20: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 20 Starting Out with Visual Basic 3rd Edition

Section 5.3The Do While Loop

A Loop Is Part of a ProgramThat Repeats

Page 21: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 21 Starting Out with Visual Basic 3rd Edition

Repetition Structure (or Loop)

Visual Basic has three structures that allow a statement or group of statements to repeat• Do While• Do Until• For...Next

Page 22: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 22 Starting Out with Visual Basic 3rd Edition

Do While Flowchart

The Do While loop If the expression is

true, the statement(s)are executed

Expression is thenevaluated again

As long as the expression remains true, the statement(s) will continue to be executed

Expression statement(s)

False

True

Page 23: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 23 Starting Out with Visual Basic 3rd Edition

Do While Syntax

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 expressionstatement(s)

Loop

Page 24: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 24 Starting Out with Visual Basic 3rd Edition

Do While Example

Private Sub btnRunDemo_Click(ByVal sender As System.Object, _ByVal e As System.EventArgs) Handles btnRunDemo.Click' Demonstrate the Do While loopDim intCount As Integer = 0

Do While intCount < 10lstOutput.Items.Add("Hello")intCount += 1

LoopEnd Sub

Note that programming styledictates the body of theloop be indented for clarity

Page 25: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 25 Starting Out with Visual Basic 3rd Edition

Infinite Loops 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

• The loop continues to repeat• intCount increases by one for each repetition• Finally intCount is not <10 and the loop ends

If the test expression can never be false, the loop will continue to repeat forever • This is called an infinite loop

Page 26: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 26 Starting Out with Visual Basic 3rd Edition

Counters Variables called counters are frequently

used to control Do While loops• See intCount from the previous example

Counters are typically initialized before the loop beginsDim intCount As Integer = 0

The counter is then modified in the body of the loopintCount += 1

The test expression ends the loop when the counter compares to some value

Page 27: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 27 Starting Out with Visual Basic 3rd Edition

Pretest vs. Posttest Loops

Previous Do While loops are in pretest form• Expression is tested before the body of the

loop is executed• The body may not be executed at all

Do While loops also have a posttest form• The body of the loop is executed first• Then the expression is evaluated• Body repeats as long as expression is true• The body of a posttest loop must be executed

at least once

Page 28: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 28 Starting Out with Visual Basic 3rd Edition

Posttest Loop Syntax and Flowchart

The statement(s) mustbe executed at leastonce, irrespective of the expression used

Dostatement(s)

Loop While expression

Expression

statement(s)

False

True

Page 29: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 29 Starting Out with Visual Basic 3rd Edition

A Posttest Running Total LoopintCount = 1 ' Initialize the counterdecTotal = 0 ' Initialize totalDo

strInput = InputBox("Enter the sales for day " & _intCount.ToString, "Sales Amount Needed")

If strInput <> "" ThendecSales = CDec(strInput) decTotal += decSales ' Add sales to totalintCount += 1 ' Increment the counter

End IfLoop While intCount <= 5

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

Page 30: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 30 Starting Out with Visual Basic 3rd Edition

Section 5.4The Do Until andFor 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

Page 31: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 31 Starting Out with Visual Basic 3rd Edition

Do Until vs. Do While

A Do While loop• Repeats as long as its test expression is true• Ends when its test expression becomes false

A Do Until loop• Repeats as long as its test expression is false• Ends when its test expression becomes true

The Do Until loop has a pretest and posttest form just as a Do While loop

Page 32: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 32 Starting Out with Visual Basic 3rd Edition

Do Until: Pretest & Posttest Forms

Pretest:

Posttest:

Tutorial 5-6 provides a hands-on example of a pretest Do Until loop

Do Until expressionstatement(s)

Loop

Dostatement(s)

Loop Until expression

Page 33: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 33 Starting Out with Visual Basic 3rd Edition

Do Until Loop – Test Score AveragestrInput = InputBox("How many test scores do you " _

& “want to average?", "Enter a Value")intNumScores = CInt(strInput)

‘ Store the starting values in total and countsngTotal = 0intCount = 1

‘ Get the test scoresDo Until intCount > intNumScores

strInput = InputBox("Enter the value for test score " _

& intCount.ToString, "Test Score Needed")sngTotal = sngTotal + CSng(strInput)intCount = intCount + 1

Loop‘ Calculate the average

If intNumScores > 0 thensngAverage = sngTotal / intNumScores

ElsesngAverage = 0.0

End If

Page 34: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 34 Starting Out with Visual Basic 3rd Edition

For…Next Loop

Ideal for loops that require a counter

For, To, and Next are keywords CounterVariable tracks number of iterations StartValue is initial value of counter EndValue is counter number of final iteration Optional Step allows a counter increment

other than 1 for each iteration of the loop

For CounterVariable = StartValue To EndValue [Step]statement

Next [CounterVariable]

Page 35: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 35 Starting Out with Visual Basic 3rd Edition

For…Next Flowchart

Counter =EndValue? statement(s)

False

True

setcounter

to StartValue

incrementcounter

Page 36: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 36 Starting Out with Visual Basic 3rd Edition

For…Next Example

For intCount = 1 To 10intSquare = CInt(intCount ^ 2)strTemp = "The square of " & intCount.ToString _

& “ is “ & intSquare.ToStringlstOutput.Items.Add(strTemp)

Next intCount

The following code from Tutorial 5-7 uses a For…Next loop to place the squares of the numbers 1 through 10 in a ListBox

Tutorial 5-8 uses a For…Next loop to move a PictureBox control around a window

Page 37: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 37 Starting Out with Visual Basic 3rd Edition

More on the StepValue

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

StepValue may be negative, causing the loop to count downward

For x = 0 To 100 Step 10MessageBox.Show("x is now " & x.ToString)

Next x

For x = 10 To 1 Step -1MessageBox.Show("x is now " & x.ToString)

Next x

Page 38: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 38 Starting Out with Visual Basic 3rd Edition

Exiting a Loop Prematurely In some cases it is convenient to end a loop

before the test condition would end it The following statements accomplish this

• Exit Do (used in Do While or Until loops)• Exit For (used in For Next loops)

Use this capability with caution• It bypasses normal loop termination• Makes code more difficult to debug

Page 39: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 39 Starting Out with Visual Basic 3rd Edition

Example: Exit a Loop Prematurely

maxNumbers = CInt(InputBox("How many numbers do " & _"you wish to sum?"))

total = 0For x = 1 to maxNumbers

input = InputBox("Enter a number.")If input = "" Then

Exit ForElse

num = CDbl(input)total += num

End IfNext xMessageBox.Show(“Sum of the numbers is " & total.ToString)

Page 40: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 40 Starting Out with Visual Basic 3rd Edition

When to Use the Do While Loop 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

Page 41: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 41 Starting Out with Visual Basic 3rd Edition

When to Use the Do Until Loop 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

Page 42: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 42 Starting Out with Visual Basic 3rd Edition

When to Use the For Next Loop

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

Page 43: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 43 Starting Out with Visual Basic 3rd Edition

5.6Nested Loops

Nested Loops Are Necessary When a Task Performs a Repetitive Operation and That Task Itself Must Be

Repeated

Page 44: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 44 Starting Out with Visual Basic 3rd Edition

Nested Loops

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

Page 45: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 45 Starting Out with Visual Basic 3rd Edition

Nested Loop Example

For hours = 0 To 24lblHours.Text = hours.ToStringFor minutes = 0 To 59

lblMinutes.Text = minutes.ToStringFor seconds = 0 To 59

lblSeconds.Text = seconds.ToStringNext seconds

Next minutesNext hours

A clock is an example of a nested loop

Page 46: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 46 Starting Out with Visual Basic 3rd Edition

Nested Loop Example Analysis 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 requires:

• 1,440 iterations of the middle loop• 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

Page 47: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 47 Starting Out with Visual Basic 3rd Edition

Section 5.6Multicolumn List Boxes,

Checked List Boxesand Combo Boxes

A Multicolumn List Box Displays Items in ColumnsA 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

Page 48: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 48 Starting Out with Visual Basic 3rd Edition

List Box Multicolumn Property

The ListBox has a Multicolumn property Boolean property with default value of false If set to true, entries can appear side by side Below, ColumnWidth is set to 30 Note the appearance of a horizontal scroll

bar in this case

Page 49: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 49 Starting Out with Visual Basic 3rd Edition

Checked List Box

A form of ListBox 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 CheckOnClick property determines how items may be checked• False - the user clicks an item once to select

it, again to check it• True - the user clicks an item only once to

both select it and check it

Page 50: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 50 Starting Out with Visual Basic 3rd Edition

Finding the Status of Checked Items

The GetItemChecked method returns true if the item at Index has been checkedCheckedListBox.GetItemChecked(Index)

Dim i as IntegerDim intCheckedCities as Integer = 0

For i = 0 to clbCities.Items.Count – 1If clbCities.GetItemChecked(i) = True Then

intCheckedCities += 1End If

Next i

MessageBox.Show(“You checked “ & _intCheckedCities.Tostring() & “ cities.”)

Page 51: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 51 Starting Out with Visual Basic 3rd Edition

Combo Boxes Similar to List Boxes Both display a list of items to the user Both have Items, Items.Count,

SelectedIndex, SelectedItem, and Sorted properties

Both have Items.Add, Items.Clear, Items.Remove, and Items.RemoveAt methods

These properties and methods work the same with combo boxes and list boxes

Page 52: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 52 Starting Out with Visual Basic 3rd Edition

Additional Combo Box Features

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

Page 53: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 53 Starting Out with Visual Basic 3rd Edition

Combo Box Styles Simple Combo Box List is always shown

Drop-down Combo Box List appears when user

clicks down arrow

Page 54: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 54 Starting Out with Visual Basic 3rd Edition

Combo Box Styles Drop-down List Combo Box

Behaves like a Drop-DownCombo Box, but the usermay not enter text directly

Tutorial 5-9 demonstrates each style of combo box

Page 55: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 55 Starting Out with Visual Basic 3rd Edition

Section 5.7Input Validation

As Long As the User of an Application Enters Bad Input, the Application Will Produce Bad Output

Applications Should Be Written to Filter Out Bad Input

Page 56: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 56 Starting Out with Visual Basic 3rd Edition

Examples of Input Validation Numbers are checked to ensure they are within a

range of possible values• For example, there are 168 hours in a week• A person can’t work more than 168 hours a week

Values are checked for their “reasonableness”• A person might possibly work 168 hours in a week• 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

Page 57: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 57 Starting Out with Visual Basic 3rd Edition

CausesValidation/Validating Event

A control’s Validating event is triggered when focus is shifting from that control to a control whose CausesValidation 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• If user shifts focus, input must be complete

Tutorial 5-10 demonstrates this capability

Page 58: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 58 Starting Out with Visual Basic 3rd Edition

The Validated Event

A control’s Validated event is triggered• After the Validating event• After focus has been lost

Allows operations on input that should occur only after the user moves away from the field

Page 59: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 59 Starting Out with Visual Basic 3rd Edition

Using the With…End Statement

A With statement establishes a default object in effect until an End With is encountered

Instead of repeating txtNum1 in this code

With allows you to reference the txtNum1 object without specifying it repeatedly

txtNum1.SelectionStart = 0txtNum1.SelectionLength = txtNum1.Text.Length

With txtNum1.SelectionStart = 0.SelectionLength = .Text.Length

End With

Page 60: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 60 Starting Out with Visual Basic 3rd Edition

Section 5.8Tool Tips

Tool Tips Are a Standard and Convenient Way of Providing Help to the Users of an Application

Visual Basic Provides the ToolTip Control, Which Allows You to Assign Tool Tips to the Other Controls on a Form

Page 61: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 61 Starting Out with Visual Basic 3rd Edition

What is a Tool Tip?

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

Page 62: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 62 Starting Out with Visual Basic 3rd Edition

Setting Up ToolTips Display the form design window Double-click the ToolTip tool in the Toolbox The ToolTip control is invisible at runtime so

• It appears in the component tray, not the form• Component tray shows at the bottom of the

design window ToolTips are now enabled for this form Form controls have a ToolTip property This new property holds the text string that

will be displayed for that control

Page 63: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 63 Starting Out with Visual Basic 3rd Edition

Controlling the Tool Tips Select the ToolTip control from the tray View Properties window to see the following

• An InitialDelay property that regulates the delay before a tip appears

• An AutoPopDelay that determines how long a tip is displayed

• ReshowDelay determines the time between the display of different tips as the user moves the mouse from control to control

Page 64: Chapter 5, Slide 1Starting Out with Visual Basic 3 rd Edition Chapter 5 Lists, Loops, Validation, and More.

Chapter 5, Slide 64 Starting Out with Visual Basic 3rd Edition

Section 5.9Building 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.


Recommended