954,551 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

combo box help

i have four combo boxes in my form, each combo box has 2 or 3 selections

i need to check each combo box for a selection, if nothing is selected i need to have a error message come up in a message box

each selection in the combobox is woth different points so i am using a counter and when the user click the button it shows the total points in a message box

here is my code

Private Sub btnAssessment_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAssessment.Click
        Dim intPtsCnt As Integer

        If cmbAge.SelectedIndex = -1 Then
            MessageBox.Show("Please Select Your Age", "Error")
            cmbAge.Focus()
        Else
            If cmbAge.SelectedIndex = 0 Then
                intPtsCnt = intPtsCnt + 1
            ElseIf cmbAge.SelectedIndex = 1 Then
                intPtsCnt = intPtsCnt + 2
            ElseIf cmbAge.SelectedIndex = 2 Then
                intPtsCnt = intPtsCnt + 3
            End If
        End If


        If cmbSmoke.SelectedIndex = -1 Then
            MessageBox.Show("Please Select", "Error")
            cmbSmoke.Focus()
        Else
            If cmbSmoke.SelectedIndex = 0 Then
                intPtsCnt = intPtsCnt + 4
            ElseIf cmbSmoke.SelectedIndex = 1 Then
            End If
        End If

        If cmbBP.SelectedIndex = -1 Then
            MessageBox.Show("Please Select", "Error")
            cmbBP.Focus()
        Else
            If cmbBP.SelectedIndex = 0 Then
                intPtsCnt = intPtsCnt + 2
            ElseIf cmbBP.SelectedIndex = 1 Then
            End If
        End If

        If cmbDiet.SelectedIndex = -1 Then
            MessageBox.Show("Please Select", "Error")
            cmbDiet.Focus()
        Else
            If cmbDiet.SelectedIndex = 0 Then
                intPtsCnt = intPtsCnt + 1
            ElseIf cmbDiet.SelectedIndex = 1 Then
            End If
        End If

        MessageBox.Show(Convert.ToString(intPtsCnt), "Total")

    End Sub


when i run the program and click the button all 4 error message boxes show up then it shows the total points, i want it to go through each combo box one at a time

salating
Newbie Poster
2 posts since Jul 2004
Reputation Points: 10
Solved Threads: 0
 

Hi,

If I am understanding you correctly, then all you need to do is add an Exit Sub after the Focus() in each check for -1.

An example:

If cmbAge.SelectedIndex = -1 Then
            MessageBox.Show("Please Select Your Age", "Error")
            cmbAge.Focus()
            Exit Sub
        Else
            ...
Eyrestes
Newbie Poster
3 posts since Jul 2004
Reputation Points: 10
Solved Threads: 1
 

yea i actually did it like this

If cmbAge.SelectedIndex = -1 Then
            MessageBox.Show("Please Select Your Age", "No Selection")
            cmbAge.Focus()
        ElseIf cmbSmoking.SelectedIndex = -1 Then
            MessageBox.Show("Please Select Smoker or Nonsmoker", "No Selection")
            cmbSmoking.Focus()
        ElseIf cmbBloodPressure.SelectedIndex = -1 Then
            MessageBox.Show("Please Select Your Blood Pressure", "No Selection")
            cmbBloodPressure.Focus()
        ElseIf cmbDiet.SelectedIndex = -1 Then
            MessageBox.Show("Please Select Your Diet Type", "No Selection")
            cmbDiet.Focus()
        End If

        If cmbAge.SelectedIndex = 0 Then
            intCounter = intCounter + 1
        ElseIf cmbAge.SelectedIndex = 1 Then
            intCounter = intCounter + 2
        ElseIf cmbAge.SelectedIndex = 2 Then
            intCounter = intCounter + 3
        End If


it works both ways though

salating
Newbie Poster
2 posts since Jul 2004
Reputation Points: 10
Solved Threads: 0
 

That's a more elegant solution. Well done.

Eyrestes
Newbie Poster
3 posts since Jul 2004
Reputation Points: 10
Solved Threads: 1
 

This question has already been solved

Post: Markdown Syntax: Formatting Help
You