วันอาทิตย์ที่ 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

Text Box

สำหรับเหตุการณ์ที่คอนโทรล TextBox สนับสนุนมีดังนี้

Text1_Change ( )

     เป็นเหตุการณ์ที่เกิดขึ้น เมื่อผู้ใช้มีการแก้ไขข้อความที่อยู่บนตัวคอนโทรล TextBox ในขณะรัน มีรูปแบบการใช้งานดังนี้
Private Sub Text1_Change([index As Integer])
End Sub
อาร์กิวเมนต์ index หมายถึง เลขจำนวนเต็ม Integer ที่เป็นค่าดัชนี จะใช้ในกรณีที่เป็นคอนโทรลอาร์เรย์ ซึ่งจะเป็นตัวบอกความแตกต่าง ของคอนโทรลอาร์เรย์แต่ละตัว

Text1_Click ( )

     เป็นเหตุการณ์ที่เกิดขึ้น เมื่อผู้ใช้คลิ๊กเมาส์ด้วยปุ่มซ้าย ที่บริเวณตัวคอนโทรล TextBox มีรูปแบบการใช้งานดังนี้
Private Sub Text1_Click([index As Integer])
End Sub
อาร์กิวเมนต์ index หมายถึง เลขจำนวนเต็ม Integer ที่เป็นค่าดัชนี จะใช้ในกรณีที่เป็นคอนโทรลอาร์เรย์ ซึ่งจะเป็นตัวบอกความแตกต่าง ของคอนโทรลอาร์เรย์แต่ละตัว

Text1_DblClick ( )

     เป็นเหตุการณ์ที่เกิดขึ้น เมื่อผู้ใช้ดับเบิลคลิ๊กภายในบริเวณตัวคอนโทรล TextBox  มีรูปแบบการใช้งานดังนี้
Private Sub Text1_DblClick (index As Integer)
End Sub
อาร์กิวเมนต์ index หมายถึง เลขจำนวนเต็ม Integer ที่เป็นค่าดัชนี จะใช้ในกรณีที่เป็นคอนโทรลอาร์เรย์ ซึ่งจะเป็นตัวบอกความแตกต่าง ของคอนโทรลอาร์เรย์แต่ละตัว

Text1_DragDrop ( )

     เป็นเหตุการณ์ที่เกิดขึ้น เมื่อผู้ใช้มีการลาก (drag) แล้ววาง (drop) โดยที่เหตุการณ์ดังกล่าวจะต้องเสร็จสิ้น และสมบูรณ์ มีรูปแบบการใช้งานดังนี้
Private Sub Text1_DragDrop([index As Integer,]source As Control, x As Single, y As Single)
End Sub
อาร์กิวเมนต์ index หมายถึง เลขจำนวนเต็ม Integer ที่เป็นค่าดัชนี จะใช้ในกรณีที่เป็นคอนโทรลอาร์เรย์ ซึ่งจะเป็นตัวบอกความแตกต่าง ของคอนโทรลอาร์เรย์แต่ละตัว
อาร์ กิวเมนต์ source หมายถึง คอนโทรลที่เป็นจุดเริ่มต้นเหตุการณ์ลากแล้ววาง (drag-drop)
อาร์กิวเมนต์ x,y หมายถึง พิกัดคู่ลำดับ co-ordinate ซึ่งเป็นตำแหน่งของเมาส์พอยน์เตอร์ บนตัวคอนโทรลปลายทาง ที่ผู้ใช้ต้องการวาง ซึ่งถือว่า กระบวนการลากแล้ววาง (drag-drop) เสร็จสิ้น และสมบูรณ์แล้ว

Text1_DragOver ( )

     เป็นเหตุการณ์ที่เกิดขึ้น เมื่อผู้ใช้มีการลากแล้ววาง (drag-drop) จากคอนโทรลอื่นๆ ซึ่งลากผ่านมาเหนือบริเวณที่ไม่ใช่คอนโทรลปลายทาง คุณสามารถใช้เหตุการณ์นี้ เพื่อดักจับเมาส์พอยน์เตอร์ว่า อยู่ตำแหน่งใด มีรูปแบบการใช้งานดังนี้
Private Sub Text1_DragOver([index As Integer,]source As Control, x As Single, y As Single, state As Integer)
End Sub
อาร์กิวเมนต์ index หมายถึง เลขจำนวนเต็ม Integer ที่เป็นค่าดัชนี จะใช้ในกรณีที่เป็นคอนโทรลอาร์เรย์ ซึ่งจะเป็นตัวบอกความแตกต่าง ของคอนโทรลอาร์เรย์แต่ละตัว
อาร์ กิวเมนต์ source หมายถึง คอนโทรลที่เป็นจุดเริ่มต้นเหตุการณ์ลากแล้ววาง (drag-drop)
อาร์กิวเมนต์ x,y หมายถึง พิกัดคู่ลำดับ co-ordinate ซึ่งเป็นตำแหน่งของเมาส์พอยน์เตอร์ บนตัวคอนโทรลปลายทาง ที่ผู้ใช้ต้องการวาง ซึ่งถือว่า กระบวนการลากแล้ววาง (drag-drop) เสร็จสิ้น และสมบูรณ์แล้ว
อาร์กิวเมนต์ state หมายถึง เลขจำนวนเต็ม Integer ที่บอกสถานะของกระบวนการ ลากแล้ววาง ซึ่งมีความหมายดังนี้
  • 0-Enter หมายถึง คอนโทรลต้นทาง (source control) กำลังถูกลากเข้ามาอยู่เหนือบริเวณเป้าหมาย
  • 1-Leave หมายถึง คอนโทรลต้นทาง (source control) กำลังถูกลากออกจากเป้าหมาย
  • 2-Over หมายถึง คอนโทรลต้นทาง (source control) กำลังถูกลากไปมา เหนือบริเวณเป้าหมาย

Text1_GotFocus

     เป็นเหตุการณ์ที่เกิดขึ้น เมื่อคอนโทรล TextBox ได้รับโฟกัส เหตุการณ์นี้จะเกิดขึ้นได้ โดยมีข้อแม้ว่า คุณสมบัติ Enabled และคุณสมบัติ Visible ของคอนโทรล TextBox= True เท่านั้น มีรูปแบบการใช้งานดังนี้
Private Sub Text1_GotFocus([index As Integer])
End Sub
อาร์กิวเมนต์ index หมายถึง เลขจำนวนเต็ม Integer ที่เป็นค่าดัชนี จะใช้ในกรณีที่เป็นคอนโทรลอาร์เรย์ ซึ่งจะเป็นตัวบอกความแตกต่าง ของคอนโทรลอาร์เรย์แต่ละตัว

Text1_KeyDown ( ) และ Text1_KeyUp ( )

     เหตุการณ์ KeyDown ( ) จะเกิดขึ้นเมื่อ ผู้ใช้กดปุ่มใดๆ ที่คีย์บอร์ด และเหตุการณ์  KeyUp ( ) จะเกิดขึ้นต่อจากเหตุการณ์ KeyDown ( ) นั่นคือ เมื่อผู้ใช้ปล่อยปุ่มที่คีย์บอร์ด คุณจะต้องกำหนดให้คอนโทรล TextBox ให้ได้รับโฟกัสเสียก่อน มีรูปแบบการใช้งานดังนี้
Private Sub Text1_KeyDown([index As Integer,]keycode As Integer, shift As Integer)
End Sub
Private Sub Text1_KeyUp([index As Integer,]keycode As Integer, shift As Integer)
End Sub
อาร์กิวเมนต์ index หมายถึง เลขจำนวนเต็ม Integer ที่เป็นค่าดัชนี จะใช้ในกรณีที่เป็นคอนโทรลอาร์เรย์ ซึ่งจะเป็นตัวบอกความแตกต่าง ของคอนโทรลอาร์เรย์แต่ละตัว
อาร์กิวเมนต์ keycode หมายถึง รหัสซึ่งเป็นตัวแทนของคีย์ ที่อยู่บนคีย์บอร์ด เช่น ปุ่ม F1-F12, ปุ่ม Home เป็นต้น คุณสามารถดูรายละเอียดเกี่ยวกับ keycode เหล่านี้ได้ที่ บทที่ 28 ค่าคงที่ระบบ (System Constants) ที่น่าสนใจ
อาร์กิวเมนต์ shift หมายถึง สถานะของปุ่ม shift, Ctrl และ Alt โดยที่ปุ่มทั้ง 3 ปุ่ม ถูกจัดเก็บในรูปแบบบิต ซึ่งผู้ใช้สามารถกดพร้อมๆ กันได้ มักจะใช้ค่าบิตมาตรวจสอบสถานะของปุ่มทั้ง 3 เสมอ มีความหมายดังนี้

ค่าคงที่ (Shift)ค่าตัวเลขรายละเอียด
vbShiftMask1ปุ่ม SHIFT ถูกกด
vbCtrlMask2ปุ่ม CTRL ถูกกด
vbAltMask4ปุ่ม ALT ถูกกด

     ถ้าผู้ใช้มีการกดปุ่มดังกล่าว พร้อมๆ กัน ไม่ว่าจะเป็นปุ่มใดก็ตาม จะใช้ผลบวกของแต่ละบิตรวมกัน เช่น สมมติว่าผู้ใช้กดปุ่ม Shift+Alt จะมีค่าเท่ากับ 5 เป็นต้น

Text1_KeyPress ( )

     เป็นเหตุการณ์ที่เกิดขึ้น เมื่อผู้ใช้มีการกด และปล่อยปุ่มที่คีย์บอร์ด คุณต้องกำหนดให้คอนโทรล TextBox ได้รับโฟกัสก่อน มีรูปแบบการใช้งานดังนี้
Private Sub Text1_KeyPress([index As Integer,]keyascii As Integer)
End Sub
อาร์กิวเมนต์ index หมายถึง เลขจำนวนเต็ม Integer ที่เป็นค่าดัชนี จะใช้ในกรณีที่เป็นคอนโทรลอาร์เรย์ ซึ่งจะเป็นตัวบอกความแตกต่าง ของคอนโทรลอาร์เรย์แต่ละตัว
อาร์กิวเมนต์ keyascii หมายถึง รหัสแอสกีซึ่งแทนของอักษรที่อยู่บนคีย์บอร์ด คุณสามารถดูรายละเอียดเพิ่มเติมได้ที่ บทที่ 28 ค่าคงที่ระบบ (System Constants) ที่น่าสนใจ

Text1_LostFocus ( )

     เป็นเหตุการณ์ที่เกิดขึ้น เมื่อคอนโทรล CommandButton สูญเสียสภาวะโฟกัส ให้กับคอนโทรล หรืออ๊อบเจ็กต์ตัวอื่นๆ อาจกล่าวได้ว่า เหตุการณ์ LostFocus ( ) จะเกิดต่อจากเหตุการณ์ GotFocus ( ) นั่นเอง มีรูปแบบการใช้งานดังนี้
Private Sub Text1_LostFocus([index As Integer])
End Sub
อาร์กิวเมนต์ index หมายถึง เลขจำนวนเต็ม Integer ที่เป็นค่าดัชนี จะใช้ในกรณีที่เป็นคอนโทรลอาร์เรย์ ซึ่งจะเป็นตัวบอกความแตกต่าง ของคอนโทรลอาร์เรย์แต่ละตัว

Text1_MouseDown ( ) และ Text1_MouseUp ( )

     เป็นเหตุการณ์ที่เกิดขึ้น เมื่อผู้ใช้กดปุ่มซ้ายของเมาส์ บริเวณตัวคอนโทรล ก็จะทำให้เกิดเหตุการณ์ MouseDown และเมื่อผู้ใช้ปล่อยเมาส์ บริเวณตัวคอนโทรล ก็จะทำให้เกิดเหตุการณ์ MouseUp มีรูปแบบการใช้งานดังนี้
Private Sub Text1_MouseDown([index As Integer,]button As Integer, shift As Integer, x As Single, y As Single)
End Sub
Private Sub Text1 _MouseUp([index As Integer,]button As Integer, shift As Integer, x As Single, y As Single)
End Sub
อาร์กิวเมนต์ index หมายถึง เลขจำนวนเต็ม Integer ที่เป็นค่าดัชนี จะใช้ในกรณีที่เป็นคอนโทรลอาร์เรย์ ซึ่งจะเป็นตัวบอกความแตกต่าง ของคอนโทรลอาร์เรย์แต่ละตัว
อาร์กิวเมนต์ button หมายถึง ปุ่มของเมาส์ ซึ่งเป็นตัวทำให้เกิดเหตุการณ์ MouseDown และ MouseUp แต่ละปุ่มของเมาส์จะถูกจัดเก็บในลักษณะบิต (bit) โดยที่แต่ละบิตมีความหมายดังนี้

ค่าคงที่ (Button)ค่าตัวเลขรายละเอียด
vbLeftButton1เมื่อปุ่มซ้ายของเมาส์ถูกกด
vbRightButton2เมื่อปุ่มขวาของเมาส์ถูกกด
vbMiddleButton4เมื่อปุ่มกลางของเมาส์ถูกกด

อาร์กิวเมนต์ shift หมายถึง สถานะของปุ่ม shift, Ctrl และ Alt โดยที่ปุ่มทั้ง 3 ปุ่ม   ถูกจัดเก็บในรูปแบบบิตเช่นกัน ซึ่งผู้ใช้สามารถกดพร้อมๆ กันได้ มักจะใช้ค่าบิตมาตรวจสอบสถานะของปุ่มทั้ง 3 เสมอ มีความหมายดังนี้

ค่าคงที่ (Shift)ค่าตัวเลขรายละเอียด
vbShiftMask1ปุ่ม SHIFT ถูกกด
vbCtrlMask2ปุ่ม CTRL ถูกกด
vbAltMask4ปุ่ม ALT ถูกกด

     ถ้าผู้ใช้มีการกดปุ่มดังกล่าว พร้อมๆ กัน ไม่ว่าจะเป็นปุ่มใดก็ตาม จะใช้ผลบวกของแต่ละบิตรวมกัน เช่น สมมติว่าผู้ใช้กดปุ่ม Shift+Alt จะมีค่าเท่ากับ 5 เป็นต้น
อาร์กิวเมนต์ x,y หมายถึง พิกัดคู่ลำดับ (co-ordinate) ของเมาส์พอยน์เตอร์ ซึ่งเป็นตำแหน่งที่เกิดเหตุการณ์ MouseDown หรือ MouseUp

Text1_MouseMove ( )

     เป็นเหตุการณ์ที่เกิดขึ้น เมื่อผู้ใช้เลื่อนเมาส์ไปมาบริเวณคอนโทรล Label มีรูปแบบการใช้งานดังนี้
Private Sub Text1_MouseMove([index As Integer,] button As Integer, shift As Integer, x As Single, y As Single)
End Sub
อาร์กิวเมนต์ index หมายถึง เลขจำนวนเต็ม Integer ที่เป็นค่าดัชนี จะใช้ในกรณีที่เป็นคอนโทรลอาร์เรย์ ซึ่งจะเป็นตัวบอกความแตกต่าง ของคอนโทรลอาร์เรย์แต่ละตัว
อาร์กิวเมนต์ button หมายถึง ปุ่มของเมาส์ ซึ่งเป็นตัวทำให้เกิดเหตุการณ์ MouseDown และ MouseUp แต่ละปุ่มของเมาส์จะถูกจัดเก็บในลักษณะบิต (bit) โดยที่แต่ละบิตมีความหมายดังนี้

ค่าคงที่ (Button)ค่าตัวเลขรายละเอียด
vbLeftButton1เมื่อปุ่มซ้ายของเมาส์ถูกกด
vbRightButton2เมื่อปุ่มขวาของเมาส์ถูกกด
vbMiddleButton4เมื่อปุ่มกลางของเมาส์ถูกกด

อาร์กิวเมนต์ shift หมายถึง สถานะของปุ่ม shift, Ctrl และ Alt โดยที่ปุ่มทั้ง 3 ปุ่ม   ถูกจัดเก็บในรูปแบบบิตเช่นกัน ซึ่งผู้ใช้สามารถกดพร้อมๆ กันได้ มักจะใช้ค่าบิตมาตรวจสอบสถานะของปุ่มทั้ง 3 เสมอ มีความหมายดังนี้

ค่าคงที่ (Shift)ค่าตัวเลขรายละเอียด
vbShiftMask1ปุ่ม SHIFT ถูกกด
vbCtrlMask2ปุ่ม CTRL ถูกกด
vbAltMask4ปุ่ม ALT ถูกกด

     ถ้าผู้ใช้มีการกดปุ่มดังกล่าว พร้อมๆ กัน ไม่ว่าจะเป็นปุ่มใดก็ตาม จะใช้ผลบวกของแต่ละบิตรวมกัน เช่น สมมติว่าผู้ใช้กดปุ่ม Shift+Alt จะมีค่าเท่ากับ 5 เป็นต้น
อาร์กิวเมนต์ x,y หมายถึง พิกัดคู่ลำดับ (co-ordinate) ของเมาส์พอยน์เตอร์ ซึ่งเป็นตำแหน่งที่เกิดเหตุการณ์ MouseDown หรือ MouseUp

คุณสมบัติของคอนโทรล Label

สำหรับคุณสมบัติอื่นๆ ที่น่าสนใจของคอนโทรล Label มีดังนี้

Alignment

     คุณสมบัตินี้มีหน้าที่คืนค่า หรือกำหนดรูปแบบการจัดวางของข้อความ คุณสามารถแก้ไขคุณสมบัตินี้ได้ทั้งในขณะออกแบบ และขณะรัน มีรูปแบบการใช้งานดังนี้
Label1.Alignment [=number]
ตัวแปร number คุณสามารถกำหนดค่าได้ดังนี้

BackColor และ ForeColor

คุณสมบัติ BackColor มีหน้าที่สำหรับกำหนดสีพื้นหลัง ส่วนคุณสมบัติ ForeColor มีหน้าที่กำหนดสีตัวอักษรที่ปรากฎอยู่บนตัวคอนโทรล   มีรูปแบบการใช้งานดังนี้
Command1.BackColor [= color]
Command1.ForeColor [= color]

เมื่อคุณต้องการกำหนดสี VB จะแสดงแท็บสี ที่คุณสามารถกำหนดได้ 2 ลักษณะคือ
 
  • แท็บ Palette หมายถึง ต้องการใช้สีจากการผสมของแม่สี RGB ตามปกติ

    • 
    • แท็บ System หมายถึง ต้องการใช้สี โดยเลือกจากตัวอย่างของสีที่ควรจะเป็น ในสภาวะต่างๆ ซึ่งขึ้นอยู่กับการกำหนดสีใน Control Panel ด้วย เช่น ขณะถูก Hilight, Disable ฯลฯ เป็นต้น เป็นการอำนวยความสะดวกให้คุณ ในกรณีที่ คุณต้องการใช้สีที่เป็นมาตรฐาน และเหมาะสมกับสภาวะนั้นๆ

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

         คอนโทรล CommandButton ใช้สำหรับสร้างปุ่มกด หรือปุ่มตอบรับ ซึ่งคุณสามารถพบได้ในแอพพลิเคชันทั่วๆ ไป ซึ่งถือได้ว่า เป็นคอนโทรลที่มีการใช้งาน มากที่สุดอีกตัวหนึ่ง 
    รูปที่ 6-1 คอนโทรล CommandButton บนทูลบ๊อกซ์
         โดยปกติแล้ว เมื่อคุณใช้งานคอนโทรล CommandButton ขนาดของตัวคอนโทรลที่ VB ตั้งมา จะเป็นขนาดที่เหมาะสมในการใช้งานอยู่แล้ว เมื่อคุณดับเบิลคลิ๊กที่ทูลบ๊อกซ์
    สำหรับการกำหนดข้อความที่จะแสดงบนปุ่ม ซึ่งถือได้ว่า เป็นคุณสมบัติที่เป็นหน้าที่หลักของคอนโทรล CommandButton เลยก็ว่าได้ คุณควรที่จะใช้ข้อความที่สื่อหน้าที่ของปุ่มนั้นๆ ด้วย มีรูปแบบการใช้งานดังนี้
     Command1.Caption [= string]
    ตัวแปร string หมายถึงข้อความที่คุณต้องการแสดงบนปุ่ม ควรจะเป็นคำเดียวสั้นๆ ที่มีความหมายตรงกับหน้าที่ของมัน เช่น

    ถ้าคุณต้องการทำให้ปุ่มมี access key  ซึ่งหมายถึงผู้ใช้สามารถกดปุ่ม  ALT+ตัวอักษร เพื่อใช้งานปุ่มดังกล่าว ให้คุณใช้เครื่องหมาย & (ampersand) หน้าตัวอักษรที่คุณต้องการทำ access key ดังรูป เป็นการใส่เครื่องหมาย & หน้าตัว O ที่คุณสมบัติ caption
    ถ้าคุณต้องการแสดงเครื่องหมาย & ให้ผู้ใช้เห็นบนตัวคอนโทรล   คุณเพียงแต่ใส่เครื่องหมาย && ซ้ำกัน 2 ตัว ก็จะเป็นการแสดงเครื่องหมาย & ได้ และในการตั้งชื่อ (คุณสมบัติ Name) เพื่อใช้อ้างอิงในการเขียนโค้ด คุณควรใช้คำนำหน้าว่า cmd เช่น cmdOk เป็นต้น

    คุณสมบัติของคอนโทรล CommandButton

         สำหรับคุณสมบัติของคอนโทรล CommandButton อื่นๆ ที่น่าสนใจ มีดังนี้

    Appearance

         คุณสมบัตินี้มีหน้าที่สำหรับคืนค่า หรือกำหนดรูปแบบการปรากฎของคอนโทรล CommandButton  บนฟอร์ม คุณสมบัตินี้ในขณะรัน คุณสามารถอ่านค่าได้อย่างเดียว มีรูปแบบการใช้งานดังนี้
    Command1.Appearance=[value]
    ตัวแปร value หมายถึง เลขจำนวนเต็ม Integer ซึ่งมีความหมายดังนี้