คอมโบ VB.NetBox ควบคุมด้วยตัวอย่าง

Combobox Control คืออะไร?

ตัวควบคุมกล่องรวมข้อมูลช่วยให้คุณแสดงรายการแบบดรอปดาวน์ที่มีรายการจำนวนมาก โดยมองว่าเป็นการผสมผสานระหว่างกล่องข้อความที่ผู้ใช้ป้อนข้อความและรายการแบบดรอปดาวน์ที่ผู้ใช้เลือกรายการ โปรดทราบว่ากล่องรวมข้อมูลจะแสดงทีละรายการ

การสร้างคอมโบบ็อกซ์

คอมโบBox สามารถสร้างได้ดังนี้:

ขั้นตอน 1) สร้างแอปพลิเคชันใหม่

ขั้นตอน 2) ลากตัวควบคุมกล่องคอมโบจากกล่องเครื่องมือไปยังแบบฟอร์ม

การสร้างคอมโบบ็อกซ์

คุณจะได้สร้างตัวควบคุมกล่องคอมโบแล้ว

การเพิ่มรายการลงใน Combobox

ตอนนี้เราได้สร้างกล่องคอมโบแล้ว มาดูกันว่าจะเพิ่มรายการลงไปได้อย่างไร

Double คลิกที่ตัวควบคุมคอมโบบ็อกซ์ที่คุณเพิ่มเข้าไป คุณจะย้ายจากแท็บการออกแบบไปยังแท็บที่มีโค้ด

หากต้องการเพิ่มรายการลงในกล่องรวมข้อมูล เราจะใช้คุณสมบัติรายการ มาสาธิตโดยเพิ่มรายการ 2 รายการลงในกล่องรวมข้อมูล ได้แก่ ชายและหญิง:

ComboBox1.Items.Add("Male")
ComboBox1.Items.Add("Female")

เราสามารถเลือกเพิ่มรายการลงในกล่องรวมข้อมูลขณะออกแบบได้จากหน้าต่างคุณสมบัติ ดังต่อไปนี้:

ขั้นตอน 1) เปิดแท็บการออกแบบและคลิกตัวควบคุมกล่องรวม

ขั้นตอน 2) ย้ายไปที่หน้าต่างคุณสมบัติและดูตัวเลือกรายการ

ขั้นตอน 3) คลิก ... ที่อยู่ทางด้านขวาของ (คอลเลกชัน)

การเพิ่มรายการลงใน Combobox

ขั้นตอน 4)คุณจะเห็นหน้าต่างใหม่ นี่คือจุดที่คุณควรเพิ่มรายการลงในกล่องรวมข้อมูล ดังแสดงด้านล่าง:

การเพิ่มรายการลงใน Combobox

ขั้นตอน 5) เมื่อพิมพ์รายการเสร็จแล้วให้คลิกปุ่มตกลง

ขั้นตอน 6) คลิกปุ่มเริ่มบนแถบเครื่องมือด้านบน และคลิกไอคอนดรอปดาวน์บนกล่องคอมโบ

การเพิ่มรายการลงใน Combobox

รายการได้รับการเพิ่มลงในตัวควบคุมกล่องรวมข้อมูลสำเร็จแล้ว

การเลือกไอเทม Combobox

คุณอาจจำเป็นต้องตั้งค่ารายการเริ่มต้นที่จะเลือกเมื่อโหลดแบบฟอร์ม คุณสามารถทำได้โดยใช้เมธอด SelectedItem() ตัวอย่างเช่น หากต้องการตั้งค่าเพศที่เลือกเริ่มต้นเป็นชาย คุณสามารถใช้คำสั่งต่อไปนี้:

ComboBox1.SelectedItem = "Male"

เมื่อคุณรันโค้ด ตัวควบคุมคอมโบบ็อกซ์ควรเป็นดังแสดงด้านล่างนี้:

การเลือกไอเทม Combobox

การดึงค่าจาก 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) คลิกปุ่มเริ่มบนแถบเครื่องมือเพื่อรันโค้ด คุณจะได้รับแบบฟอร์มต่อไปนี้:

การดึงค่าจาก Combobox

ขั้นตอน 4) คลิกปุ่มดรอปดาวน์และเลือกเพศของคุณ ในกรณีของฉัน ฉันเลือกชาย และจะได้รับผลลัพธ์ดังต่อไปนี้:

การดึงค่าจาก Combobox

นี่คือภาพหน้าจอของรหัส:

การดึงค่าจาก Combobox

คำอธิบายของรหัส:

  1. การสร้างคลาสชื่อ Form1 ชั้นเรียนจะสามารถเข้าถึงได้แบบสาธารณะเนื่องจากมีการตั้งค่าตัวแก้ไขการเข้าถึงเป็นสาธารณะ
  2. การเริ่มต้นกระบวนการย่อยชื่อ ComboBox1_SelectedIndexChanged สิ่งนี้จะถูกสร้างโดยอัตโนมัติเมื่อคุณดับเบิลคลิกที่ตัวควบคุมคอมโบบ็อกซ์จากแท็บการออกแบบ โปรซีเดอร์ย่อยนี้จะถูกเรียกใช้เมื่อคุณเลือกไอเท็มจากคอมโบบ็อกซ์ sd As Object อ้างอิงถึงอ็อบเจ็กต์ที่ทำให้เกิดเหตุการณ์ในขณะที่เหตุการณ์ As EventArgs มีข้อมูลเหตุการณ์ s
  3. การสร้างจำนวนเต็มสตริงชื่อ var_gender
  4. การกำหนดค่าของตัวแปร var_gender ให้กับรายการที่เลือกบนกล่องคอมโบ
  5. การพิมพ์ค่าของตัวแปร var_gender บน MesageBox.
  6. จุดสิ้นสุดของคอมโบBox1_ขั้นตอนย่อย SelectedIndexChanged
  7. สิ้นสุดคลาส 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) หลังจากนั้นคุณต้อง ลากและวางตัวควบคุมกล่องคอมโบสองตัวลงในแบบฟอร์ม

เหตุการณ์ SelectedIndexChanged

ขั้นตอน 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 จากแถบด้านบนเพื่อรันโค้ด คุณจะได้รับผลลัพธ์ดังต่อไปนี้:

เหตุการณ์ SelectedIndexChanged

ขั้นตอน 5) คลิกปุ่มดรอปดาวน์บนกล่องคอมโบแรกและเลือกชาย เลื่อนเคอร์เซอร์เมาส์ไปที่กล่องคอมโบที่สองแล้วคลิกปุ่มดรอปดาวน์ ดูรายการที่พร้อมใช้งาน:

เหตุการณ์ SelectedIndexChanged

ขั้นตอน 6) ไปที่กล่องคอมโบแรกแล้วเลือกหญิง ไปที่กล่องคอมโบที่สองแล้วดูไอเท็มที่พร้อมใช้งาน:

เหตุการณ์ SelectedIndexChanged

นี่คือภาพหน้าจอของรหัส:

เหตุการณ์ SelectedIndexChanged

คำอธิบายของรหัส:

  1. การสร้างคลาสชื่อ Form1
  2. เริ่มต้นขั้นตอนย่อยชื่อ Form1_Load() สิ่งนี้จะถูกทริกเกอร์เมื่อโหลดแบบฟอร์มแล้ว sd As Object อ้างอิงวัตถุที่ทำให้เกิดเหตุการณ์ในขณะที่ระบบ As EventArgs มีข้อมูลเหตุการณ์
  3. การเพิ่มรายการ Males ลงใน ComboBox1.
  4. การเพิ่มรายการ Females ลงใน ComboBox1.
  5. จุดสิ้นสุดของขั้นตอนย่อย Form1_Load()
  6. เริ่มต้นขั้นตอนย่อยชื่อ ComboBox1_SelectedIndexChanged() คำสั่งนี้จะถูกเรียกใช้งานเมื่อมีการเลือกไอเท็มบนกล่องรวมข้อมูลแรก ผู้ส่ง As Object จะอ้างอิงถึงอ็อบเจ็กต์ที่ทำให้เกิดเหตุการณ์ในขณะที่ e As EventArgs จะมีข้อมูลเหตุการณ์
  7. ทำคอมโบBoxว่าง 2 รายการ ล้างรายการทั้งหมดจากนั้น
  8. การสร้างเงื่อนไข ตรวจสอบว่ารายการที่เลือกอยู่ใน Combo หรือไม่Box1 เป็นเพศชาย
  9. เพิ่มรายการ Nicholas ลงใน ComboBox2 เมื่อเงื่อนไขข้างต้นเป็นจริง นั่นคือ รายการที่เลือกใน ComboBox1 คือ ชาย.
  10. เพิ่มรายการ John ลงใน ComboBox2 เมื่อเงื่อนไขข้างต้นเป็นจริง นั่นคือ รายการที่เลือกใน ComboBox1 เป็นเพศชาย
  11. การสร้างเงื่อนไข ตรวจสอบว่ารายการที่เลือกอยู่ใน Combo หรือไม่Box1 เป็นผู้หญิง.
  12. เพิ่มรายการ Alice ลงใน ComboBox2 เมื่อเงื่อนไขข้างต้นเป็นจริง นั่นคือ รายการที่เลือกใน ComboBox1 เป็นผู้หญิง.
  13. เพิ่มรายการ Grace ลงใน ComboBox2 เมื่อเงื่อนไขข้างต้นเป็นจริง นั่นคือ รายการที่เลือกใน ComboBox1 เป็นผู้หญิง.
  14. จุดสิ้นสุดของบล็อก If
  15. จุดสิ้นสุดของคอมโบBox1_SelectedIndexChanged() ขั้นตอนย่อย
  16. จบชั้นเรียน แบบที่ 1

สรุป

  • คอมโบBox ถูกสร้างขึ้นโดยการลากจากกล่องเครื่องมือและวางลงในแบบฟอร์ม
  • มันทำให้เรามีวิธีในการนำเสนอตัวเลือกมากมายให้กับผู้ใช้
  • เราสามารถตั้งค่ารายการเริ่มต้นที่จะเลือกบน Combo ได้Box เมื่อโหลดแบบฟอร์มแล้ว
  • เหตุการณ์ SelectedIndexChanged ช่วยให้เราระบุการดำเนินการที่จะดำเนินการเมื่อเลือกไอเท็มใดไอเท็มหนึ่งในกล่องคอมโบ