นอกจากการใช้ if ? else แล้วใน visual basic ยังมีให้เลือกใช้งานอีกอย่างหนึ่งก็คือ select case ซึ่งจะแตกต่างการใช้ if ? else ตรงที่การใช้ select case นั้นจะแบ่งเป็นกรณีต่างๆที่เรากำหนดขึ้น เช่นในกรณีที่ตรวจพบว่าเป็นบุคคลที่เรากำหนดเราก็จะแยกการทำงานไปตามของแต่ละบุคคลเป็นต้น ซึ่งก็มาดูตัวอย่างการ visual basic ในการใช้งาน select case กันเลยดีกว่า
ขั้นแรกก็เหมือนเดิมทำการสร้าง project แล้วเลือกสร้างเป็น Windows Form Application ?จากนั้นตั้งชื่อเป็น select case
จากนั้นทำการ add List box ลงไปใน Form
ต่อจากนั้นก็ทำการเพิ่ม items ลงไป List box โดยคลิกที่ลูกศรมุนบนขวาแล้วเลือก Edit Items จะนั้นก็ใส่ items ตามรูปหรือที่เราต้องการโดย item จะถูกแบ่งโดยการขึ้นบรรทัดใหม่
เมื่อเพิ่ม items เสร็จแล้วก็ทำการกำหนด property Name เป็น lstData จากนั้นก็ทำการเขียนโค้ดโดยทำการ Double Click ที่ List Box
เขียนโค้ดในส่วนที่ยังไม่มี
[sourcecode language=”vb”]
Private Sub lstData_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lstData.SelectedIndexChanged
‘Declare variable
Dim strWeb As String
Dim strRank As String
‘Get the select web
strWeb = lstData.Items(lstData.SelectedIndex).ToString
‘Use a Select Case statement to get the Web Rank
‘of the selected web
Select Case strWeb
Case “Google”
strRank = “Google In Rank 1”
Case “Hotmail”
strRank = “Hotmail In Rank 2”
Case “Yahoo”
strRank = “Yahoo In Rank 3”
Case “Thaicoding”
strRank = “Thaicoding In Rank 4”
End Select
‘Display strRank
MessageBox.Show(strRank, “Thaicoding”)
End Sub
[/sourcecode]
เมื่อกด F5 ลองรันแล้วคลิกที่ชื่อ web ก็จะแสดงข้อความเฉพาะแต่ละเว็บออกมาจะเห็นว่าการใช้ select case ใน visual basic จะใช้ในการแก้ปัญหาที่เป็น กรณีต่างๆ ได้ โดยจากตัวอย่างในตอนแรกเราก็ประกาศตัวแปรสองตัวคือ strWeb และ strRank โดย strWeb จะถูกกำหนดค่าให้เท่ากับการเลือกของเราใน List box โดยนำค่าจาก list box ได้โดย
lstData.Items(lstData.SelectedIndex).ToString เป็นการนำค่า items ใน index ที่ถูกเลือกมาแปลงเป็น string
หลังจากนั้นเราก็มาเข้า Select Case โดยบรรทัดแรกของ Select Case จะเป็นการบอกว่าจะเอาค่าในตัวแปรไหนมาพิจารณาเหมือนในตัวอย่าง Select Case strWeb จากนั้นก็จะแบ่งเป็นกรณีต่างๆ เช่น Case “Thaicoding” และเมื่อจบ Select Case แล้วก็จะต้องปิด Select Case ด้วย End Select สุดทางโปรแกรมตัวอย่างนี้ก็จะแสดงกล่องข้อความออกมา