VB2019 VB2017 VB2015 VB2013 VB2012 VB2010 VB2008 VB6 VB Sample Code 中文VB About Us

Lesson 10 : Using Select Case


In the previous lesson, we have learned how to control the program flow using the If...ElseIf control structure. In this lesson, you will learn how to use the?strong>Select Case control structure in Visual Basic 2012 to control the program flow. The Select Case control structure is slightly different from the If....ElseIf control structure . The difference is that the Select Case control structure basically only make decision on one expression or dimension (for example the examination grade) while the If ...ElseIf statement control structure may evaluate only one expression, each If....ElseIf statement may also compute entirely different dimensions. Select Case is preferred when there exist multiple conditions as using If...Then..ElseIf statements will become too messy.

10.1 The Select Case...End Select Structure

The syntax of the Select Case control structure in Visual Basic 2012 is as follows:

Select Case test expressionCase expression list 1
	Block of one or more Visual Basic 2012 statements
Case expression list 2
	Block of one or more Visual Basic 2012 Statements
Case expression list 3
	.
	.
Case Else
	Block of one or more Visual Basic 2012 Statements

End Select

10.2 The usage of Select Case is shown in the following examples

Example 10.1

' Examination Grades
Dim grade As String
Private Sub Compute_Click()
	grade=txtgrade.Text
 Select Case grade
	Case "A"
		Label1.Text="High Distinction"
	Case "A-"
		Label1.Text="Distinction"
	Case "B"
		Label1.Text="Credit"
	Case "C"
		Label1.Text="Pass"
	Case Else
		Label1.Text="Fail"
 End Select
 

Example 10.2

In this example, you can use the keyword Is together with the comparison operators.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click'Examination MarksDim mark As Single
	mark = mrk.Text
	Select Case mark
		Case Is >= 85
			Label1.Text= "Excellence"
		Case Is >= 70
			Label2.Text= "Good"
		Case Is >= 60
			Label3.Text = "Above Average"
		Case Is >= 50
			Label4.Text= "Average"
		Case Else
			Label5.Text = "Need to work harder"
	End Select
End Sub

Example 10.3

Example 10.2 can be rewritten as follows:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

'Examination Marks
	Dim mark As Single
	mark = Textbox1.Text
 Select Case mark
	Case 0 to 49
		Label1.Text = "Need to work harder"
	Case 50 to 59
		Label1.Text = "Average"
	Case 60 to 69
		Label1.Text= "Above Average"
	Case 70 to 84
		Label1.Text = "Good"
	Case 85 to 100
		Label1.Text= "Excellence"
	Case Else
		Label1.Text= "Wrong entry, please reenter the mark"
 End Select
End Sub

Example 10.4

Grades in high school are usually presented with a single capital letter such as A, B, C, D or E. The grades can be computed as follow:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'Examination Marks

	Dim mark As Single
	mark = TextBox1.Text
 Select Case mark
	Case 0 To 49
		Label1.Text = "E"
	Case 50 To 59
		Label1.Text = "D"
	Case 60 To 69
		Label1.Text = "C"
	Case 70 To 79
		Label1.Text = "B"
	Case 80 To 100
		Label1.Text = "A"
	Case Else
		Label1.Text = "Error, please reenter the mark"
 End Select
End Sub
Visual Basic 2012
Figure 10.1 The Output



Copyright©2008 Dr.Liew Voon Kiong. All rights reserved |Contact|Privacy Policy