Click here to Skip to main content
11,922,381 members (31,187 online)
Rate this:
Please Sign up or sign in to vote.
See more: VB Visual-Studio
'Project Name:              Ship With Us
'Project Purpose:           Input Zip Code and find the associated shipping cost
'Created/Revised by:        

Option Explicit On
Option Strict Off
Option Infer Off
Public Class MainForm
    Private Sub MainForm_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        'fills the list box with zip codes
        'fills the list box with second set of zip codes
    End Sub
    Private Sub exitButton_Click(sender As Object, e As System.EventArgs) Handles exitButton.Click
    End Sub
    Private Sub displayshipButton_Click(sender As Object, e As System.EventArgs) Handles displayshipButton.Click
        'determine whether a list box contains a specific zip code
        Dim id As String = String.Empty
        'if the user picks a zip code in ListBox1 then the shipping charge is $15.00
        'and if zip code is chose in  ListBox2  shipping charge is $20.00

        If (shippingoneListBox.FindString(zipTextBox.Text >= 0)) Then
            shippingLabel.Text = "Shipping is $15"
        ElseIf (shippingtwoListBox.FindString(zipTextBox.Text >= 0)) Then
            shippingLabel.Text = "Shipping is $20"
            shippingLabel.Text = "The zipcode was not found!"
        End If
    End Sub
End Class

When entering a zip code that is listed in "shippingtwoListBox" it will still tell me the shipping cost should be $15 when in fact it should be $20. Do I have something coded wrong that it isn't searching the second list box? Also, when I enter a zip code that isn't added to the listboxes the label isn't displaying "The zipcode was not found!"

Any help would be much appreciated!
Posted 20-Apr-13 7:44am
Zach Blomstrom 20-Apr-13 12:58pm
Even if I say (shippingtwoListBox.FindString(zipTextBox.Text = "50978")) it still tells me the shipping cost is $15 when that zip code is in the $20 listbox.

1 solution

Rate this: bad
Please Sign up or sign in to vote.

Solution 1

You have your closing parenthesis in the wrong place causing the first IF to be always true.

I also added a line of code to remove spaces from front and back of ziptextbox.Text in case user accidentally types spaces before or after the zip code.

Furthermore, the Label.Show method is for internal use only, You do not need it and should not use it in your code. See the documentation for Label.Show[^]

Corrected version
'if the user picks a zip code in ListBox1 then the shipping charge is $15.00
'and if zip code is chose in  ListBox2  shipping charge is $20.00
ziptextbox.Text = ziptextbox.Text.Trim
If shippingonelistbox.FindString(ziptextbox.Text) >= 0 Then
    shippinglabel.Text = "Shipping is $15"
ElseIf shippingtwolistbox.FindString(ziptextbox.Text) >= 0 Then
    shippinglabel.Text = "Shipping is $20"
    shippinglabel.Text = "The zipcode was not found!"
End If

Tested: Visual Studio 2012
Zach Blomstrom 21-Apr-13 11:43am
Thank-you very much!

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 OriginalGriff 453
1 Dave Kreskowiak 335
2 Sergey Alexandrovich Kryukov 263
3 Richard MacCutchan 225
4 ppolymorphe 175
0 OriginalGriff 7,231
1 KrunalRohit 4,530
2 Sergey Alexandrovich Kryukov 3,356
3 George Jonsson 2,865
4 Suvendu Shekhar Giri 2,216

Advertise | Privacy | Mobile
Web03 | 2.8.151120.1 | Last Updated 21 Apr 2013
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100