คอมโบ VB.NetBox ควบคุมด้วยตัวอย่าง
Combobox Control คืออะไร?
ตัวควบคุมกล่องรวมข้อมูลช่วยให้คุณแสดงรายการแบบดรอปดาวน์ที่มีรายการจำนวนมาก โดยมองว่าเป็นการผสมผสานระหว่างกล่องข้อความที่ผู้ใช้ป้อนข้อความและรายการแบบดรอปดาวน์ที่ผู้ใช้เลือกรายการ โปรดทราบว่ากล่องรวมข้อมูลจะแสดงทีละรายการ
การสร้างคอมโบบ็อกซ์
คอมโบBox สามารถสร้างได้ดังนี้:
ขั้นตอน 1) สร้างแอปพลิเคชันใหม่
ขั้นตอน 2) ลากตัวควบคุมกล่องคอมโบจากกล่องเครื่องมือไปยังแบบฟอร์ม
คุณจะได้สร้างตัวควบคุมกล่องคอมโบแล้ว
การเพิ่มรายการลงใน Combobox
ตอนนี้เราได้สร้างกล่องคอมโบแล้ว มาดูกันว่าจะเพิ่มรายการลงไปได้อย่างไร
Double คลิกที่ตัวควบคุมคอมโบบ็อกซ์ที่คุณเพิ่มเข้าไป คุณจะย้ายจากแท็บการออกแบบไปยังแท็บที่มีโค้ด
หากต้องการเพิ่มรายการลงในกล่องรวมข้อมูล เราจะใช้คุณสมบัติรายการ มาสาธิตโดยเพิ่มรายการ 2 รายการลงในกล่องรวมข้อมูล ได้แก่ ชายและหญิง:
ComboBox1.Items.Add("Male") ComboBox1.Items.Add("Female")
เราสามารถเลือกเพิ่มรายการลงในกล่องรวมข้อมูลขณะออกแบบได้จากหน้าต่างคุณสมบัติ ดังต่อไปนี้:
ขั้นตอน 1) เปิดแท็บการออกแบบและคลิกตัวควบคุมกล่องรวม
ขั้นตอน 2) ย้ายไปที่หน้าต่างคุณสมบัติและดูตัวเลือกรายการ
ขั้นตอน 3) คลิก ... ที่อยู่ทางด้านขวาของ (คอลเลกชัน)
ขั้นตอน 4)คุณจะเห็นหน้าต่างใหม่ นี่คือจุดที่คุณควรเพิ่มรายการลงในกล่องรวมข้อมูล ดังแสดงด้านล่าง:
ขั้นตอน 5) เมื่อพิมพ์รายการเสร็จแล้วให้คลิกปุ่มตกลง
ขั้นตอน 6) คลิกปุ่มเริ่มบนแถบเครื่องมือด้านบน และคลิกไอคอนดรอปดาวน์บนกล่องคอมโบ
รายการได้รับการเพิ่มลงในตัวควบคุมกล่องรวมข้อมูลสำเร็จแล้ว
การเลือกไอเทม Combobox
คุณอาจจำเป็นต้องตั้งค่ารายการเริ่มต้นที่จะเลือกเมื่อโหลดแบบฟอร์ม คุณสามารถทำได้โดยใช้เมธอด SelectedItem() ตัวอย่างเช่น หากต้องการตั้งค่าเพศที่เลือกเริ่มต้นเป็นชาย คุณสามารถใช้คำสั่งต่อไปนี้:
ComboBox1.SelectedItem = "Male"
เมื่อคุณรันโค้ด ตัวควบคุมคอมโบบ็อกซ์ควรเป็นดังแสดงด้านล่างนี้:
การดึงค่าจาก Combobox
คุณสามารถรับไอเท็มที่เลือกจากกล่องคอมโบได้ ซึ่งทำได้โดยใช้คุณสมบัติข้อความ มาสาธิตกันโดยใช้กล่องคอมโบด้านบนที่มีไอเท็ม 2 ชิ้น คือ ชายและหญิง ทำตามขั้นตอนด้านล่าง:
ขั้นตอน 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) คลิกปุ่มเริ่มบนแถบเครื่องมือเพื่อรันโค้ด คุณจะได้รับแบบฟอร์มต่อไปนี้:
ขั้นตอน 4) คลิกปุ่มดรอปดาวน์และเลือกเพศของคุณ ในกรณีของฉัน ฉันเลือกชาย และจะได้รับผลลัพธ์ดังต่อไปนี้:
นี่คือภาพหน้าจอของรหัส:
คำอธิบายของรหัส:
- การสร้างคลาสชื่อ Form1 ชั้นเรียนจะสามารถเข้าถึงได้แบบสาธารณะเนื่องจากมีการตั้งค่าตัวแก้ไขการเข้าถึงเป็นสาธารณะ
- การเริ่มต้นกระบวนการย่อยชื่อ ComboBox1_SelectedIndexChanged สิ่งนี้จะถูกสร้างโดยอัตโนมัติเมื่อคุณดับเบิลคลิกที่ตัวควบคุมคอมโบบ็อกซ์จากแท็บการออกแบบ โปรซีเดอร์ย่อยนี้จะถูกเรียกใช้เมื่อคุณเลือกไอเท็มจากคอมโบบ็อกซ์ sd As Object อ้างอิงถึงอ็อบเจ็กต์ที่ทำให้เกิดเหตุการณ์ในขณะที่เหตุการณ์ As EventArgs มีข้อมูลเหตุการณ์ s
- การสร้างจำนวนเต็มสตริงชื่อ var_gender
- การกำหนดค่าของตัวแปร var_gender ให้กับรายการที่เลือกบนกล่องคอมโบ
- การพิมพ์ค่าของตัวแปร var_gender บน MesageBox.
- จุดสิ้นสุดของคอมโบ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) สร้างแอปพลิเคชันแบบฟอร์มหน้าต่างใหม่
ขั้นตอนที่ 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) ไปที่กล่องคอมโบแรกแล้วเลือกหญิง ไปที่กล่องคอมโบที่สองแล้วดูไอเท็มที่พร้อมใช้งาน:
นี่คือภาพหน้าจอของรหัส:
คำอธิบายของรหัส:
- การสร้างคลาสชื่อ Form1
- เริ่มต้นขั้นตอนย่อยชื่อ Form1_Load() สิ่งนี้จะถูกทริกเกอร์เมื่อโหลดแบบฟอร์มแล้ว sd As Object อ้างอิงวัตถุที่ทำให้เกิดเหตุการณ์ในขณะที่ระบบ 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
สรุป
- คอมโบBox ถูกสร้างขึ้นโดยการลากจากกล่องเครื่องมือและวางลงในแบบฟอร์ม
- มันทำให้เรามีวิธีในการนำเสนอตัวเลือกมากมายให้กับผู้ใช้
- เราสามารถตั้งค่ารายการเริ่มต้นที่จะเลือกบน Combo ได้Box เมื่อโหลดแบบฟอร์มแล้ว
- เหตุการณ์ SelectedIndexChanged ช่วยให้เราระบุการดำเนินการที่จะดำเนินการเมื่อเลือกไอเท็มใดไอเท็มหนึ่งในกล่องคอมโบ