Visual basic programming ii lecture 3
1 / 25

Visual Basic Programming II Lecture 3 - PowerPoint PPT Presentation

  • Uploaded on

Visual Basic Programming II Lecture 3. MIS233 Instructor – Larry Langellier. This Week – Managing Lists. Controls for displaying or selecting from a list List Box Combo Box Arrays – Used for storing numerous related values What an Array is

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about ' Visual Basic Programming II Lecture 3' - orli-sheppard

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Visual basic programming ii lecture 3

Visual Basic Programming IILecture 3


Instructor – Larry Langellier

This week managing lists
This Week – Managing Lists

  • Controls for displaying or selecting from a list

    • List Box

    • Combo Box

  • Arrays – Used for storing numerous related values

    • What an Array is

    • How to declare with different scopes (Global, Module, Static)

    • Accessing Elements

    • Using LBound and UBound

    • Resizing Arrays and maintaining values while doing so

The listbox control
The ListBox Control

  • The ListBox control allows the user to view a list of items

  • The ListBox control also allows the user to select one or more items from a list – if the programmer (you) allows multiple selections

Listbox summary
ListBox Summary

  • The ListBox supports:

    • Properties

      • Columns, List, ListCount, ListIndex, MultiSelect, SelCount, Sorted, Text, and numerous other standard ones like Visible, Enabled, TabStop, etc.

    • Methods

      • AddItem, Clear, RemoveItem

    • Event Procedures

      • Click, DblClick, GotFocus, LostFocus

Managing the listbox list
Managing the ListBox List

  • You can initialize elements in the Design Mode using the List property

  • To add elements to the ListBox:

    lstItems.AddItemitem[, index]

    • lstItems = name of the control

    • item = string expression to add to the control

    • index = position of the item in the list (starts at 0)

  • To remove a single item from the ListBox (Example 14.2)

    lstItems.RemoveItem index

    • index = position of the item to be removed (0-based)

  • To remove all items from the ListBox:


  • To sort the items in the ListBox

    lstItems.Sorted = True

  • Selecting items in the list
    Selecting Items in the List

    • To programmatically “select” a specific item in the ListBox (only at runtime)

      lstItems.Selected(index) = True

    • Determining what item a user has selected

      • ListIndex – the index of the selected item in a list

        • -1 = no item is currently selected

        • N = Nth item selected – varies from 0 to ListCount – 1

      • Or loop through items looking for one with Selected = True

        • ListCount - the number of items in a list

        • Example 14.1

    Selecting multiple items from a list box
    Selecting Multiple Items from a List Box

    • You may enable a ListBox to allow a user to select more than one item

    • Syntax

      • listbox.Multiselect = setting

        • Where setting is:

          0 = Multiple selection not allowed (default)

          1 = Simple multiple selection (click or spacebar)

          2 = Extended multiple selection (Shift+click, Shift+arrow key)

      • This property can also be set in Design Mode

    • Use a ListCount to loop through the entire list and determine which individual items have Selected(index) = True

    • Example 14.4

    Do it together
    Do It Together!

    Write a program that allows the user to enter Strings

    in a TextBox. Each String input is added to a

    ListBox. As each String is added to the

    ListBox, ensure that the Strings are in sorted order.

    You should also add a CommandButton, that when

    clicked adds the String in the TextBox to the

    ListBoxand clears the TextBox.

    Sample solution
    Sample Solution

    Option Explicit

    Private Sub cmdAdd_Click()

    ' lstBox's Sorted property has been set to True


    End Sub

    The combobox control
    The ComboBox Control

    • The ComboBox control combines TextBox features with a short drop-down list.

    • The ComboBox enables the user to select a single item from a list

    • The user’s selection appears in the TextBox

    Like a listbox
    Like a ListBox

    • The ComboBox supports most of the same Properties, Methods, and Event Procedures that ListBox does.

      • Properties

        • Enabled, List, ListCount, ListIndex, Sorted, Visible

      • Methods

        • AddItem, Clear, RemoveItem

      • Event Procedures

        • GotFocus, LostFocus

    • Adding elements to the list is the same as a ListBox

      • Programmatically

        • The AddItem Method

      • Design Mode

        • The List Property

    Not like a listbox
    Not Like a ListBox

    • Other than the obvious visual differences, the primary difference between a ComboBox and a ListBox is how you determine what the user’s selection is – the user’s selection is contained in the Text Property

    • Syntax


      • Example 14.3

    • A ComboBox also supports three different visual appearances via the Style Property

      • vbComboDropDown: allows the user to type data directly into the text area or select items from the list

      • vbComboSimple: has the visual appearance of a TextBox – a drop-down list never appears

      • vbComboDropDownList: only allows selections from the list, no typing allowed

    Do it together1
    Do It Together!

    Create a GUI with a ComboBox and a ListBox. Write a

    program that displays the names of 15 states (or

    whatever) in a ComboBox. When the user selects an

    item from the ComboBox, remove the item from the

    ComboBox and add it to the ListBox. Your program

    should check to ensure that the ComboBox contains at

    least one item. If it doesn’t, print a message using the

    MsgBox function and terminate program execution.

    Sample solution1
    Sample Solution

    Option Explicit

    Private Sub Form_Load()

    'Or simply load in the List at Design-Time


    cboStates.AddItem("New Jersey")









    End Sub

    Private Sub cboStates_Click()



    If cboStates.ListCount = 0 Then

    MsgBox("ComboBox is empty. Terminating.")


    End If

    End Sub


    • An array is a sequence of multiple locations in memory where values can be stored

      • Individual memory locations are accessed with an index

    • Arrays provide a way to group related data items

    • Arrays allow you to avoid developing unique variable names for similar items

    • Each element in an array has the same data type – simple (Integer, Boolean, etc.) or complex (UDTs or Classes)

    • Use a single array element in the same places you’d use normal variables – assign values to them, retrieve from them, use them in expressions, etc.

    • Syntax for declaring an array:

      Dimfriends(5) As String

      DimmoreFriends(1 To 5) As String

    Accessing array elements
    Accessing Array Elements

    • Declare

      Dim Days(3) As String

    • Accessing

      lblDayOfWeek.Caption = Days(3)

    • Setting

      Days(4) = “Wednesday”

    • Displaying Array Contents

      For OfMine = 0 To 4

      Print Spc(25); Friend(OfMine)

      Next OfMine

    • Example 14.5

    Array scope
    Array Scope

    • Like all variables, array variables have scope

      • Global Array: Place a Public statement in the Declarations section of a standard code module

      • Module-level Array: Place a Dim statement in the General Declarations section of a form module or standard module

      • Array with Local Scope: Declare the array within a procedure:

        • Static scope for the array

        • Static scope for the entire procedure and Dim for the array

        • You can change the size of local array variables - Redim

    Array resizing
    Array Resizing

    • Arrays can be dynamically resized at the procedure level

      ReDimarrayVar(xToy) AsdataType

    • Dynamic allocation (resizing) is important:

      • Array size can change as items are added/deleted

      • The size of the list may not be known in advance

      • Allows an array to be declared at the procedure level

      • Makes it possible to release all memory allocated for an array


    • By default, the values in an array are lost when you resize

      • To retain current values, use the Preserve keyword

        ReDimPreservefriends(1 To 4)

      • Example 14.9

    Using lbound and ubound functions
    Using LBound and UBound Functions

    • Arrays in Visual Basic are zero-based, by default

    • You can change to a different lower bound three ways:

      • Option Base 1

        • lower bound of 1 for arrays

        • Placed in the Module’s General Declarations section

      • Dimdays(1 To 7) As String

      • ReDimdays(1 To 7) As String

    • Visual Basic provides two functions you can use to determine the lower and upper bounds of an array - LBound and UBound

    • Syntax:



      • arrayname = Name of the array variable

    • Example 14.6

    Using control arrays and variable arrays together
    Using Control Arrays and Variable Arrays Together

    • As we’ve seen before, Control Arrays are a group of controls that have the same name and are accessed via an index

    • Info to be displayed in the Control Array could be stored in an Array

    • Example

      txtText(element).Text = arrayVariable(element)

    • Examples from the Textbook

      • 14.7: The days of the week displayed in a Label Control Array

      • 14.8: Creating an application with Variable Arrays

    Just do it
    Just Do It!

    Write a program that simulates the rolling of two dice. The

    program should use the Rnd to roll the first dice, and should use

    Rnd again to roll the second dice. Each time you roll the pair of

    dice you should add the two values together. Your program

    should roll the dice 36,000 times.

    You should use an Array to tally how many times each possible

    sum appeared. Since each dice can have a value between 1 and 6,

    the possible sums of the dice are between 2 and 12.

    Once your program has rolled the dice 36,000 times then you

    should print a table telling how many times each sum was rolled.

    Sample solution2
    Sample Solution

    Option Explicit

    Private Sub Form_Load()

    ' Array expected contains counts for the expected

    ' number of times each sum occurs in 36 rolls of the dice

    Dim i As Long

    Dim x As Integer, y As Integer, totals(2 To 12) As Long


    For i = 1 To 36000

    x = 1 + Int(Rnd() * 6)

    y = 1 + Int(Rnd() * 6)

    totals(x + y) = totals(x + y) + 1

    Next i

    For i = 2 To 12

    Print i & " " & totals(i) & " " & (totals(i) / 36000)

    Next i

    End Sub

    Next class
    Next Class…

    • Next Class

      • Read Chapter 15 – Multidimensional Arrays

      • HW #3 will be due at the beginning of class

      • Complete Mini-Project #3

    • Following Week

      • Research Presentations