คอมโบ VB.NetBox ควบคุมด้วยตัวอย่าง
⚡ สรุปอย่างชาญฉลาด
วงดนตรีผสมBox ใน VB.Net คือ Windows ตัวควบคุมแบบฟอร์มที่รวมช่องข้อความเข้ากับรายการแบบดรอปดาวน์ ช่วยให้ผู้ใช้สามารถเลือกรายการเดียวหรือพิมพ์รายการลงไปได้ ซึ่งช่วยประหยัดพื้นที่บนแบบฟอร์ม
Combobox Control คืออะไร?
ตัวควบคุมกล่องรวมข้อมูลช่วยให้คุณแสดงรายการแบบดรอปดาวน์ที่มีรายการจำนวนมาก โดยมองว่าเป็นการผสมผสานระหว่างกล่องข้อความที่ผู้ใช้ป้อนข้อความและรายการแบบดรอปดาวน์ที่ผู้ใช้เลือกรายการ โปรดทราบว่ากล่องรวมข้อมูลจะแสดงทีละรายการ
การสร้างคอมโบบ็อกซ์
คอมโบBox สามารถสร้างได้ดังนี้:
ขั้นตอนที่ 1) สร้างแอปพลิเคชันใหม่
ขั้นตอนที่ 2) ลากตัวควบคุมคอมโบ้บ็อกซ์จากกล่องเครื่องมือไปยังฟอร์ม
คุณจะได้สร้างตัวควบคุมกล่องคอมโบแล้ว
การเพิ่มรายการลงใน Combobox
ตอนนี้เราได้สร้างกล่องคอมโบแล้ว มาดูกันว่าจะเพิ่มรายการลงไปได้อย่างไร
Double คลิกที่ตัวควบคุมคอมโบบ็อกซ์ที่คุณเพิ่มเข้าไป คุณจะย้ายจากแท็บการออกแบบไปยังแท็บที่มีโค้ด
หากต้องการเพิ่มรายการลงในกล่องรวมข้อมูล เราจะใช้คุณสมบัติรายการ มาสาธิตโดยเพิ่มรายการ 2 รายการลงในกล่องรวมข้อมูล ได้แก่ ชายและหญิง:
ComboBox1.Items.Add("Male") ComboBox1.Items.Add("Female")
เราสามารถเลือกเพิ่มรายการลงในกล่องรวมข้อมูลขณะออกแบบได้จากหน้าต่างคุณสมบัติ ดังต่อไปนี้:
ขั้นตอนที่ 1) เปิดแท็บออกแบบแล้วคลิกที่ตัวควบคุมคอมโบ้บ็อกซ์
ขั้นตอนที่ 2) ไปที่หน้าต่าง Properties และดูตัวเลือก Items
ขั้นตอนที่ 3) คลิกที่ … ซึ่งอยู่ทางด้านขวาของ (คอลเลกชัน)
ขั้นตอนที่ 4) คุณจะเห็นหน้าต่างใหม่ นี่คือที่ที่คุณควรเพิ่มรายการลงในคอมโบ้บ็อกซ์ ดังแสดงในภาพด้านล่าง:
ขั้นตอนที่ 5) เมื่อทำเสร็จแล้วping จากนั้นคลิกปุ่ม OK เมื่อเลือกรายการเสร็จแล้ว
ขั้นตอนที่ 6) คลิกปุ่ม Start จากแถบเครื่องมือด้านบน แล้วคลิกไอคอนดรอปดาวน์ในกล่องคอมโบ
รายการได้รับการเพิ่มลงในตัวควบคุมกล่องรวมข้อมูลสำเร็จแล้ว
การเลือกไอเทม Combobox
คุณอาจจำเป็นต้องตั้งค่ารายการเริ่มต้นที่จะเลือกเมื่อโหลดแบบฟอร์ม คุณสามารถทำได้โดยใช้เมธอด SelectedItem() ตัวอย่างเช่น หากต้องการตั้งค่าเพศที่เลือกเริ่มต้นเป็นชาย คุณสามารถใช้คำสั่งต่อไปนี้:
ComboBox1.SelectedItem = "Male"
เมื่อคุณรันโค้ด ตัวควบคุมคอมโบบ็อกซ์ควรเป็นดังแสดงด้านล่างนี้:
การดึงค่าจาก Combobox
คุณสามารถดึงรายการที่เลือกจากคอมโบว์บ็อกซ์ของคุณได้ โดยใช้คุณสมบัติ text เราจะสาธิตวิธีการนี้โดยใช้คอมโบว์บ็อกซ์ด้านบนที่มีสองรายการ คือ ชายและหญิง ทำตามขั้นตอนด้านล่างนี้:
ขั้นตอน 1) Double คลิกที่ช่องเลือกเพื่อเปิดแท็บที่มีโค้ด VB.Net
ขั้นตอนที่ 2) เพิ่มโค้ดต่อไปนี้:
Public Class Form1 Private Sub ComboBox1_SelectedIndexChanged(sd As Object, evnt As EventArgs) Handles ComboBox1.SelectedIndexChanged Dim var_gender As String var_gender = ComboBox1.Text MessageBox.Show(var_gender) End Sub End Class
ขั้นตอนที่ 3) คลิกปุ่ม Start จากแถบเครื่องมือเพื่อเรียกใช้โค้ด คุณควรจะได้แบบฟอร์มดังต่อไปนี้:
ขั้นตอนที่ 4) คลิกปุ่มดรอปดาวน์และเลือกเพศของคุณ ในกรณีของฉัน ฉันเลือกเพศชาย และฉันได้รับผลลัพธ์ดังต่อไปนี้:
นี่คือภาพหน้าจอของรหัส:
คำอธิบายของ Code:
- การสร้างคลาสชื่อ Form1 ชั้นเรียนจะสามารถเข้าถึงได้แบบสาธารณะเนื่องจากมีการตั้งค่าตัวแก้ไขการเข้าถึงเป็นสาธารณะ
- เริ่มกระบวนการย่อยชื่อ ComboBox1_SelectedIndexChanged เหตุการณ์นี้จะถูกสร้างขึ้นโดยอัตโนมัติเมื่อคุณดับเบิ้ลคลิกที่ตัวควบคุมคอมโบ้บ็อกซ์จากแท็บออกแบบ ขั้นตอนย่อยนี้จะถูกเรียกใช้เมื่อคุณเลือกรายการจากคอมโบ้บ็อกซ์ sd As Object อ้างอิงถึงวัตถุที่ทำให้เกิดเหตุการณ์ ในขณะที่ evnt As EventArgs เก็บข้อมูลเหตุการณ์
- สร้างตัวแปรประเภท String ชื่อ var_gender
- การกำหนดค่าของตัวแปร var_gender ให้กับรายการที่เลือกบนกล่องคอมโบ
- การพิมพ์ค่าของตัวแปร var_gender ลงในข้อความBox.
- จุดสิ้นสุดของคอมโบBox1_ขั้นตอนย่อย SelectedIndexChanged
- สิ้นสุดคลาส Form1
การลบรายการ Combobox
คุณสามารถลบรายการออกจากกล่องคอมโบได้ มีสองวิธีที่จะทำได้ คุณสามารถใช้ดัชนีรายการหรือชื่อของรายการก็ได้
เมื่อใช้ดัชนีรายการ คุณควรใช้คุณสมบัติ Items.RemoveAt() ดังที่แสดงด้านล่าง:
ComboBox1.Items.RemoveAt(1)
ในตัวอย่างข้างต้น เราจะลบรายการที่อยู่ในดัชนี 1 ของคอมโบบ็อกซ์ โปรดทราบว่าดัชนีของคอมโบบ็อกซ์เริ่มต้นที่ดัชนี 0 ซึ่งหมายความว่าคำสั่งข้างต้นจะลบรายการที่สองของคอมโบบ็อกซ์
หากต้องการลบรายการโดยใช้ชื่อ คุณควรใช้คุณสมบัติ Items.Remove() ดังที่แสดงด้านล่าง:
ComboBox1.Items.Remove("Female")
โค้ดด้านบนควรลบรายการที่ชื่อ Female ออกจาก ComboBox1.
การเชื่อมโยงแหล่งข้อมูล
คอมโบBox สามารถเติมได้จากชุดข้อมูล พิจารณาแบบสอบถาม SQL ที่ระบุด้านล่าง:
select emp_id, emp_name from employees;
คุณสามารถสร้างแหล่งข้อมูลในโปรแกรม จากนั้นใช้โค้ดต่อไปนี้เพื่อเชื่อมโยง:
comboBox1.DataSource = ds.Tables(0) comboBox1.ValueMember = "emp_id" comboBox1.DisplayMember = "emp_name"
วิธีนี้จะทำให้คุณสามารถป้อนข้อมูลลงในตัวควบคุมกล่องคอมโบได้อย่างง่ายดายโดยไม่จำเป็นต้องพิมพ์รายการแต่ละรายการ
เหตุการณ์ SelectedIndexChanged
โดยทั่วไป คุณมักจะต้องการให้โปรแกรมของคุณตอบสนองทันทีที่ผู้ใช้เลือกค่าใหม่
เหตุการณ์ประเภทนี้จะถูกเรียกใช้เมื่อคุณเปลี่ยนแปลงรายการที่เลือกบนกล่องคอมโบของคุณ เหตุการณ์ประเภทนี้คือเหตุการณ์ที่คุณควรใช้เมื่อคุณต้องดำเนินการเปลี่ยนแปลงรายการที่เลือกบนกล่องคอมโบ ให้เราสาธิตโดยใช้ตัวอย่าง:
ขั้นตอนที่ 1) สร้างใหม่ Windows ใบสมัครแบบฟอร์ม.
ขั้นตอนที่ 2) หลังจากนั้น คุณต้องลากและวางตัวควบคุมคอมโบ้บ็อกซ์สองตัวลงในฟอร์ม
ขั้นตอน 3) Double คลิกภายในแบบฟอร์มเพื่อเปิดแท็บสำหรับโค้ด ป้อนโค้ดดังต่อไปนี้:
Public Class Form1 Private Sub Form1_Load(sd As Object, evnt As EventArgs) Handles MyBase.Load ComboBox1.Items.Add("Males") ComboBox1.Items.Add("Females") End Sub Private Sub ComboBox1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBox1.SelectedIndexChanged ComboBox2.Items.Clear() If ComboBox1.SelectedItem = "Males" Then ComboBox2.Items.Add("Nicholas") ComboBox2.Items.Add("John") ElseIf ComboBox1.SelectedItem = "Females" Then ComboBox2.Items.Add("Alice") ComboBox2.Items.Add("Grace") End If End Sub End Class
ขั้นตอนที่ 4) คลิกปุ่ม Start จากแถบด้านบนเพื่อรันโค้ด คุณควรจะได้ผลลัพธ์ดังต่อไปนี้:
ขั้นตอนที่ 5) คลิกปุ่มดรอปดาวน์ในช่องเลือกแรก แล้วเลือก เพศชาย เลื่อนเคอร์เซอร์เมาส์ไปที่ช่องเลือกที่สอง แล้วคลิกปุ่มดรอปดาวน์ของช่องนั้น ดูรายการที่มีให้เลือก:
ขั้นตอนที่ 6) เลื่อนไปยังคอมโบ้บ็อกซ์แรกแล้วเลือก หญิงเลื่อนไปยังช่องเลือกที่สองและดูรายการที่มีอยู่:
นี่คือภาพหน้าจอของรหัส:
คำอธิบายของ Code:
- การสร้างคลาสชื่อ Form1
- เริ่มต้นกระบวนการย่อยชื่อ Form1_Load() กระบวนการนี้จะทำงานเมื่อฟอร์มโหลดเสร็จแล้ว ตัวแปร sd As Object อ้างอิงถึงวัตถุที่ทำให้เกิดเหตุการณ์ ในขณะที่ตัวแปร evnt As EventArgs เก็บข้อมูลเหตุการณ์
- การเพิ่มรายการ Males ลงใน ComboBox1.
- การเพิ่มรายการ Females ลงใน ComboBox1.
- จุดสิ้นสุดของขั้นตอนย่อย Form1_Load()
- เริ่มต้นขั้นตอนย่อยชื่อ ComboBox1_SelectedIndexChanged() คำสั่งนี้จะถูกเรียกใช้งานเมื่อมีการเลือกไอเท็มบนกล่องรวมข้อมูลแรก ผู้ส่ง As Object จะอ้างอิงถึงอ็อบเจ็กต์ที่ทำให้เกิดเหตุการณ์ในขณะที่ e As EventArgs จะมีข้อมูลเหตุการณ์
- ทำคอมโบBoxว่าง 2 รายการ ล้างรายการทั้งหมดจากนั้น
- การสร้างเงื่อนไข ตรวจสอบว่ารายการที่เลือกอยู่ใน Combo หรือไม่Box1 เป็นเพศชาย
- เพิ่มรายการ Nicholas ลงใน ComboBox2 เมื่อเงื่อนไขข้างต้นเป็นจริง นั่นคือ รายการที่เลือกใน ComboBox1 คือ ชาย.
- เพิ่มรายการ John ลงใน ComboBox2 เมื่อเงื่อนไขข้างต้นเป็นจริง นั่นคือ รายการที่เลือกใน ComboBox1 เป็นเพศชาย
- การสร้างเงื่อนไข ตรวจสอบว่ารายการที่เลือกอยู่ใน Combo หรือไม่Box1 เป็นผู้หญิง.
- เพิ่มรายการ Alice ลงใน ComboBox2 เมื่อเงื่อนไขข้างต้นเป็นจริง นั่นคือ รายการที่เลือกใน ComboBox1 เป็นผู้หญิง.
- เพิ่มรายการ Grace ลงใน ComboBox2 เมื่อเงื่อนไขข้างต้นเป็นจริง นั่นคือ รายการที่เลือกใน ComboBox1 เป็นผู้หญิง.
- จุดสิ้นสุดของบล็อก If
- จุดสิ้นสุดของคอมโบBox1_SelectedIndexChanged() ขั้นตอนย่อย
- จบชั้นเรียน แบบที่ 1













