วันอาทิตย์ที่ 5 กุมภาพันธ์ พ.ศ. 2555

การใช้งานคอนโทรล ListBox

คอนโทรล ListBox เป็นคอนโทรลที่ทำหน้าที่เป็นทางเลือกให้กับผู้ใช้ เช่นเดียวกับคอนโทรล OptionButton และ CheckBox ต่างกันตรงที่รูปแบบ การนำเสนอให้กับผู้ใช้ ในการใช้งานแบบปกติ ผู้ใช้จะสามารถเลือกได้ทีละรายการเท่านั้น   แต่คุณสามารถกำหนดให้คอนโทรล ListBox ถูกเลือกได้มากกว่าหนึ่งรายการ โดยแก้ไขที่คุณสมบัติ MultiSelect ได้ ถ้าคุณต้องการใช้งานคอนโทรล ListBox ให้คลิ๊กเลือกที่ vblistbox.gif (931 bytes) บนทูลบ๊อกซ์ ดังรูป

  จะเห็นได้ว่า มีลักษณะเหมือนกับคอนโทรล TextBox แต่ถ้าคุณลองรันโปรเจ็กต์ จะพบว่า รูปแบบการนำเสนอ จะเป็นไปในลักษณะแสดงผลแบบ หลายบรรทัด ซึ่งถ้าจำนวนรายการ ที่คุณต้องการแสดง มีมากเกินกว่าที่คอนโทรล ListBox จะแสดงหมดได้ในคราวเดียว ตัวคอนโทรล ListBox จะมีการเพิ่มแถบ ScrollBar ให้โดยอัตโนมัติ

ในการตั้งชื่อ (คุณสมบัติ Name) เพื่อใช้สำหรับอ้างอิงในการเขียนโค้ด คุณควรใช้คำนำหน้าว่า lst เช่น lstStart, lstDisplay เป็นต้น สำหรับคุณสมบัติแรกๆ ที่คุณควรทำความเข้าใจ ก็คือ รายการต่างๆ ที่อยู่ในคอนโทรล ListBox ถูกเพิ่มเข้าไปได้อย่างไร และลักษณะต่างๆ ของคอนโทรล ListBox มีข้อแตกต่างในการใช้งานอย่างไร
     การเพิ่มรายการต่างๆ เข้าไปในคอนโทรล ListBox คุณต้องกำหนดคุณสมบัติ List ซึ่งมีรูปแบบการใช้งานดังนี้
List1.List(index) [=string]
ตัวแปร index หมายถึง เลขจำนวนเต็ม Integer ที่ใช้กำหนดลำดับของรายการต่างๆ ที่อยู่ในคอนโทรล ListBox
ตัวแปร string หมายถึง ข้อความที่เป็นรายการ ซึ่งคุณต้องการเพิ่มเข้าไปในคอนโทรล ListBox

     โดยปกติแล้ว รายการแรกที่ปรากฎอยู่ในคอนโทรล ListBox จะมีค่า index=0 และรายการต่อๆ ไปจะมีค่า 1,2,3... ไปเรื่อยๆ จนกระทั่งถึงรายการสุดท้าย จะมีค่าเท่ากับ ListCount-1 ขอให้คุณจำเงื่อนไขนี้ไว้ให้ดี เพราะถือได้ว่า เป็นหัวใจหลักในการใช้งานคอนโทรลนี้เลยก็ว่าได้   เนื่องจากคุณจะต้องนำรายการ ที่ผู้ใช้เลือก  (ค่า index ประจำแต่ละรายการ) ไปสร้างเป็นเงื่อนไขในการประมวลผลต่อไป ซึ่งจะมีความสัมพันธ์กับคุณสมบัติ ListIndex ด้วย
      การเพิ่มรายการต่างๆ เข้าไปในคอนโทรล ListBox ในขณะรัน คุณต้องใช้เมธอด AddItem แม้ว่าคุณจะสามารถเพิ่มรายการต่างๆ ในขณะออกแบบได้ โดยการใช้คุณสมบัติ List  ก็ตาม แต่ในทางปฏิบัติแล้ว คุณไม่ควรเพิ่มรายการในขณะออกแบบ ด้วยคุณสมบัติ List  เพราะจะทำให้เกิดข้อจำกัด ในการใช้งานได้ คุณควรที่จะเพิ่มรายการต่างๆ ในขณะรัน ด้วยเมธอด AddItem เท่านั้น (ซึ่งก็คือ ขณะเขียนโค้ดนั่นเอง) และคุณจะต้องเพิ่มรายการต่างๆ ให้เสร็จสมบูรณ์ ในเหตุการณ์ Form_Load ( ) เท่านั้น เช่น
Private Sub Form_Load()
   With List1
    .AddItem "One"
    .AddItem "Two"
    .AddItem "Three"
    .AddItem "Four"
   End With
End Sub

ไม่มีความคิดเห็น:

แสดงความคิดเห็น