เกือบทุกภาษาจะมีการใช้ select case รวมไปถึงในภาษา C# ด้วย ซึ่งใน visual c# จะมีความสามารถในการใช้ switch case ได้ง่ายกว่าในภาษาซีหรือภาษาอื่นตรงที่ภาษาซีนั้นจะไม่สามารถใช้ switch case ได้กลับข้อมูลที่เป็น string แต่ใน visual c# สามารถทำได้ แต่รูปแบบในการเขียนนั้นก็ยังคล้ายกับภาษาในตระกูลภาษาซีอยู่ดี ซึ่งเราก็มาดูตัวอย่าง visual c# กันเลยดีกว่า
ขั้นแรกก็ทำการสร้าง project ใหม่เป็น Windows Form Application ในภาษา C# จากนั้นก็ตั้งชื่อตามต้องการ
จากนั้นเมื่อได้ form แล้วทำการ add list box โดยกำหนดชื่อ list box ว่า lstColor แล้วกำหนด items ใน list box ตามรูป
ซึ่งเราได้กำหนด items เป็นสีต่างๆเพื่อจะเป็นกรณีสีต่างๆในการเปลี่ยนสีพื้นหลังของ form จากนั้นก็ double click เพื่อเขียนโค้ดโดยเขียนเพิ่มลงไปในส่วนที่ยังไม่มีดังนี้
[sourcecode language=”c#”]
private void lstColor_SelectedIndexChanged(object sender, EventArgs e)
{
String Color_Select = lstColor.SelectedItem.ToString();
switch (Color_Select)
{
case “Yellow”:
this.BackColor = Color.Yellow;
break;
case “Red”:
this.BackColor = Color.Red;
break;
case “Blue”:
this.BackColor = Color.Blue;
break;
case “Pink”:
this.BackColor = Color.Pink;
break;
}
}
[/sourcecode]
เมื่อเขียนโค้ดเสร็จแล้วก็ทำการ รันโดยการกด F5 เมื่อคลิกที่ list box ก็จะเปลี่ยนสีพื้นหลังไปตามสีที่เลือก
หลักการทำงานของโปรแกรมนี้ก็คือในตอนแรกเราทำการประกาศตัวแปรแบบ String ที่ชื่อ Color_Select เพื่อเก็บค่าว่าผู้ใช้คลิกเลือกที่สีใด ใน visual c# ในการนำค่าจาก list box นั้นจะใช้ lstColor.SelectedItem.ToString(); นั้นก็คือชื่อ list box.SelectedItem.ToString(); นั้นเองหลังจากที่เราได้ชื่อสีที่ผู้ใช้เลือกแล้วก็ไปตรวจสอบว่าตรงกับกรณีใดหลังจากนั้นก็ทำการเปลี่ยนสีพื้นหลังไปตามกรณีโดยคำสั่งในการเปลี่ยนสีพื้นหลังก็คือ this.BackColor = Color.Pink;ซึ่งในคำสั่งนี้จะเปลี่ยนไปเป็นสีชมพูถ้าเราจะเปลี่ยนเป็นสีอื่นก็ทำการเปลี่ยน Color.สีที่เราต้องการนั้นเอง