Visual Basic | Loops exercise | Use VB to loop over combo box items, finding the longest

This exercise is provided to allow potential course delegates to choose the correct Wise Owl Microsoft training course, and may not be reproduced in whole or in part in any format without the prior written consent of Wise Owl.

Software ==> Visual Basic  (46 exercises)
Version ==> Any version of VB
Topic ==> Loops  (2 exercises)
Level ==> Relatively easy
Subject ==> Visual Basic training
Before you can do this exercise, you'll need to download and unzip this file (if you have any problems doing this, click here for help).

You need a minimum screen resolution of about 700 pixels width to see our exercises. This is because they contain diagrams and tables which would not be viewable easily on a mobile phone or small laptop. Please use a larger tablet, notebook or desktop computer, or change your screen resolution settings.

Press CTRL + D to add the file called frmHobsonsChoice.vb from the above folder into your project (or right click on the project and choose to add it as an existing item). 

Change your project's properties to make this the default form for your project.  When you run your project, you should see this:

List of dates in combo box

One choice stands out ...


Attach code to the button to loop over all of the items in the combo box (see the sample code below for help on this) and display the longest:

Message box showing longest name

The best things in life?  "To crush your enemies, see them driven before you, and to hear the lamentation of their women."


You may find the following lines of code useful as a guide:

'read the combo box items into an array

Dim longestName As String = ""

Dim possibleDate As String

For Each possibleDate In cmbDate.Items

That's it!

You can unzip this file to see the answers to this exercise, although please remember this is for your personal use only.
This page has 1 thread Add post
28 Jan 21 at 18:35

I really don't understand the solution to this.

        Dim longestName As String = ""
        Dim possibleDate As String
        For Each possibleDate In cmbDate.Items

            'set this to be new longest name if it is!
            If possibleDate.Length > longestName.Length Then longestName = possibleDate


I wanted to debug step by step to try and understand what procedure is taking place here, but I can't seem to do so while using the forms application. So I copied and pasted into a console application to debug there, but the program won't run because possibleDate has no initial value. How can this work in the forms application but not in the console? Can someone please help me understand this and maybe explain how to debug step by step in the forms application. Thanks, I'm kinda new.