ข้อมูลเบื้องต้นเกี่ยวกับการควบคุม VisualBasic
คุณสามารถวาดตัวควบคุมบนแบบฟอร์มโดยใช้เครื่องมือจากกล่องเครื่องมือ Visual Basic
การจำแนกประเภทการควบคุม
ตัวควบคุม Visual Basic มีสามประเภทกว้างๆ:
1. การควบคุมภายใน เช่น การควบคุม CommandButton และ Frame ตัวควบคุมเหล่านี้อยู่ในไฟล์ Visual Basic .exe การควบคุมภายในจะปรากฏในกล่องเครื่องมือเสมอ ซึ่งแตกต่างจากตัวควบคุม ActiveX และออบเจ็กต์แบบเสียบได้ที่สามารถเพิ่มหรือลบออกจากกล่องเครื่องมือได้
2. การควบคุม ActiveX เป็นไฟล์อิสระที่มีนามสกุล .ocx ซึ่งรวมถึงการควบคุมที่จัดทำโดย Visual Basic เวอร์ชันต่างๆ (DataCombo, การควบคุม DataList เป็นต้น) และการควบคุมที่มีให้ในเวอร์ชันมืออาชีพและระดับองค์กรเท่านั้น (เช่น Listview, Toolbar, แอนิเมชั่นและ TabbedDialog) นอกเหนือจากการควบคุม ActiveX จำนวนมากที่จัดทำโดยบุคคลที่สาม
โปรดทราบว่าการควบคุมที่มีนามสกุลไฟล์ .vbx ใช้เทคโนโลยีรุ่นเก่า และสามารถพบได้ในแอปพลิเคชันที่เขียนด้วย Visual Basic เวอร์ชันก่อนหน้า เมื่อ Visual Basic เปิดโครงการที่มีตัวควบคุม .vbx จะแทนที่ตัวควบคุม .vbx ด้วยตัวควบคุม .ocx ตามค่าเริ่มต้น แน่นอนว่าจะเป็นไปได้ก็ต่อเมื่อมีตัวควบคุมเวอร์ชัน .ocx อยู่ สำหรับข้อมูลเกี่ยวกับการอัปเดตตัวควบคุมเป็นรูปแบบ .ocx ให้ดูส่วน "การอัปเดตตัวควบคุม Visual Basic แบบดั้งเดิม" ในบทนี้
3. ออบเจ็กต์ที่แทรกได้ เช่น ออบเจ็กต์เวิร์กชีต Microsoft Excel ที่มีรายชื่อพนักงานทั้งหมดของบริษัท หรือออบเจ็กต์ปฏิทิน Microsoft PRoject ที่มีข้อมูลแผนโครงการบางอย่าง เนื่องจากวัตถุเหล่านี้สามารถเพิ่มลงในกล่องเครื่องมือ จึงสามารถใช้เป็นตัวควบคุมได้ วัตถุเหล่านี้บางส่วนยังสนับสนุนการทำงานอัตโนมัติ (อย่างเป็นทางการเรียกว่า OLE Automation) ซึ่งช่วยให้คุณสามารถควบคุมวัตถุของแอปพลิเคชันอื่นในแอปพลิเคชัน Visual Basic โดยทางโปรแกรมได้ สำหรับข้อมูลเพิ่มเติมเกี่ยวกับระบบอัตโนมัติ โปรดดู "การเขียนโปรแกรมด้วยออบเจ็กต์" ในบทที่ 10 "การเขียนโปรแกรมด้วยส่วนประกอบ"
สำหรับข้อมูลเพิ่มเติม เกี่ยวกับตัวควบคุม ActiveX ที่พร้อมใช้งานในรุ่น Visual Basic Professional และ Enterprise โปรดดูที่ "การใช้ตัวควบคุม ActiveX" ในคำแนะนำเครื่องมือคอมโพเนนต์
การควบคุมภายใน
ตารางต่อไปนี้สรุปการควบคุมภายในในกล่องเครื่องมือ Visual Basic
โปรดทราบว่า เครื่องมือตัวชี้ (เครื่องมือแรกในกล่องเครื่องมือ) สามารถใช้เพื่อย้ายและปรับขนาดแบบฟอร์มและตัวควบคุมได้ เครื่องมือพอยน์เตอร์ไม่ใช่ตัวควบคุม
การควบคุม ActiveX มาตรฐาน
VisualBasic Learning Edition มีตัวควบคุม ActiveX หลายตัว (เรียกว่าตัวควบคุม ActiveX มาตรฐาน) ที่ช่วยให้คุณสามารถแนะนำฟังก์ชันการทำงานขั้นสูงในแอปพลิเคชันของคุณ ตัวควบคุม ActiveX มีนามสกุลไฟล์ .ocx และสามารถเพิ่มลงในกล่องเครื่องมือด้วยตนเองเพื่อใช้ในโครงการได้ ตารางต่อไปนี้สรุปตัวควบคุม ActiveX มาตรฐานที่มีให้ใน Visual Basic Learning Edition
สำหรับข้อมูลเพิ่มเติม เกี่ยวกับตัวควบคุม ActiveX ที่พร้อมใช้งานในรุ่น Visual Basic Professional และ Enterprise โปรดดูที่ "การใช้ตัวควบคุม ActiveX" ในคำแนะนำเครื่องมือคอมโพเนนต์
เพิ่มและลบตัวควบคุม ActiveX
ทำตามขั้นตอนด้านล่างเพื่อเพิ่มหรือลบตัวควบคุม ActiveX ออกจากกล่องเครื่องมือ
เมื่อต้องการเพิ่มตัวควบคุม ActiveX ลงในกล่องเครื่องมือ:
1. เลือก "ส่วนประกอบ" ในเมนู "โครงการ"
2. เลือกช่องทำเครื่องหมายถัดจากชื่อตัวควบคุม .ocx จากนั้นเลือก "ตกลง" หลังจากวางตัวควบคุมในกล่องเครื่องมือแล้ว ให้เพิ่มลงในแบบฟอร์มเช่นเดียวกับที่คุณทำกับตัวควบคุมภายใน
หากต้องการลบตัวควบคุม ActiveX:
1. ลบอินสแตนซ์ทั้งหมดของตัวควบคุมบนแบบฟอร์มโครงการ ลบการอ้างอิงทั้งหมดไปยังตัวควบคุมในรหัสโครงการ ถ้าการอ้างอิงไปยังตัวควบคุมที่ถูกลบยังคงอยู่ในรหัส ข้อความแสดงข้อผิดพลาดจะปรากฏขึ้นเมื่อมีการคอมไพล์แอปพลิเคชัน
2. เลือก "ส่วนประกอบ" ในเมนู "โครงการ" ล้างกล่องกาเครื่องหมายที่อยู่ถัดจากชื่อตัวควบคุม .ocx แล้วเลือก ตกลง ถ้ามีอินสแตนซ์ของการควบคุมในโครงการ ข้อความแสดงข้อผิดพลาดจะปรากฏขึ้น
สำหรับข้อมูลเพิ่มเติม เกี่ยวกับการเพิ่มหรือการลบการควบคุมและวัตถุที่แทรกได้ในกล่องเครื่องมือ โปรดดูที่ "การเพิ่มการควบคุมในโครงการ" ในบทที่ 4 "การจัดการโครงการ"
การอัปเดตตัวควบคุม VisualBasic ดั้งเดิม
ตัวควบคุม Visual Basic เวอร์ชัน 16 บิตรุ่นเก่าที่มีนามสกุลไฟล์ .vbx เข้ากันไม่ได้กับ Visual Basic เวอร์ชันนี้ ถ้าคุณพยายามโหลดโครงการเก่าที่มีตัวควบคุม .vbx Visual Basic จะเตือนว่าตัวควบคุมไม่สามารถใช้งานได้หรือเข้ากันได้ ในขณะนี้ คุณสามารถโหลดโครงการต่อไปได้โดยไม่ต้องใช้ตัวควบคุม .vbx จะไม่ทำงานตามปกติ
หากคุณมีโครงการ Visual Basic เวอร์ชันเก่าที่ประกอบด้วยตัวควบคุม .vbx ของบริษัทอื่น โปรดติดต่อผู้ผลิตตัวควบคุมสำหรับข้อมูลเกี่ยวกับตัวควบคุมการแทนที่ .ocx
ควบคุมแบบแผนการตั้งชื่อ
เมื่อคุณสร้างวัตถุ (ฟอร์มหรือตัวควบคุม) เป็นครั้งแรก Visual Basic จะตั้งค่าคุณสมบัติ Name ให้เป็นค่าเริ่มต้น ตัวอย่างเช่น ในตอนแรกให้ตั้งค่าคุณสมบัติ Name ของปุ่มคำสั่งทั้งหมดเป็น Commandn โดยที่ n คือ 1, 2, 3 และอื่นๆ VisualBasic ตั้งชื่อปุ่มคำสั่งแรกที่วาดบนแบบฟอร์ม Command1, Command2 ที่สอง และ Command3 ที่สาม
คุณสามารถคงชื่อเริ่มต้นไว้ได้ อย่างไรก็ตาม หากคุณมีตัวควบคุมประเภทเดียวกันหลายประเภท วิธีที่ดีที่สุดคือเปลี่ยนคุณสมบัติ Name ให้เป็นชื่อที่สื่อความหมาย เนื่องจากเป็นการยากที่จะแยกแยะปุ่ม Command1 ของฟอร์ม MyForm จากปุ่ม Command1 ของ YourForm รูปแบบการตั้งชื่อจึงมีประโยชน์ โดยเฉพาะอย่างยิ่งเมื่อแอปพลิเคชันมีหลายฟอร์ม มาตรฐาน และโมดูลคลาส
คุณสามารถตั้งชื่อตัวควบคุมได้โดยใช้คำนำหน้าที่อธิบายคลาส ตามด้วยชื่อที่สื่อความหมายสำหรับตัวควบคุม เมื่อใช้หลักการตั้งชื่อ รหัสของคุณสามารถอธิบายตัวเองได้โดยอัตโนมัติ และจัดเรียงวัตถุที่คล้ายกันตามลำดับตัวอักษรในกล่องรายการวัตถุ ตัวอย่างเช่น คุณสามารถตั้งชื่อตัวควบคุมกล่องกาเครื่องหมายได้ดังนี้:
chkReadOnly
ชื่อของฟอร์มและตัวควบคุม:
1. ต้องขึ้นต้นด้วยตัวอักษร
2. ใช้ได้เฉพาะตัวอักษร ตัวเลข และขีดล่าง (_) เท่านั้น ไม่อนุญาตให้ใช้เครื่องหมายวรรคตอนและการเว้นวรรค
3. ต้องมีความยาวไม่เกิน 40 ตัวอักษร
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการตั้งชื่อแบบแผนการดูภาคผนวก B "แบบแผนการเข้ารหัส Visual Basic"
ใช้ค่าควบคุม
ตัวควบคุมทั้งหมดมีคุณสมบัติ คุณสามารถใช้คุณสมบัตินี้เพื่อจัดเก็บหรือรับค่าโดยการอ้างอิงชื่อตัวควบคุมโดยไม่ต้องใช้ชื่อคุณสมบัตินี้เรียกว่าค่าของตัวควบคุม นี่เป็นคุณสมบัติที่สำคัญที่สุดหรือใช้กันทั่วไปของ ควบคุม. ตารางต่อไปนี้แสดงรายการคุณสมบัติการควบคุมแต่ละรายการ ซึ่งถือเป็นค่าควบคุม
เมื่อคุณสมบัติของตัวควบคุมเป็นค่าของตัวควบคุม คุณไม่จำเป็นต้องระบุชื่อคุณสมบัติในโค้ดทุกครั้งที่คุณอ้างอิงคุณสมบัติ ตัวอย่างเช่น รหัสต่อไปนี้ตั้งค่าคุณสมบัติข้อความของตัวควบคุมกล่องข้อความ:
Text1=ข้อความนี้ลงนามกับคุณสมบัติข้อความ_
ของข้อความ1
ในตัวอย่างต่อไปนี้ เมื่อใดก็ตามที่ผู้ใช้คลิกไฟล์ในกล่องรายการไฟล์ คุณสมบัติคำอธิบายภาพของ Label1 จะถูกตั้งค่าเป็นคุณสมบัติ FileName ของ File1:
PrivateSubFile1_คลิก()
ป้ายกำกับ1=ไฟล์1
สิ้นสุดย่อย
โปรดทราบ ว่าความสามารถในการอ่านโค้ดได้รับผลกระทบเล็กน้อยจากการใช้ค่าควบคุม ดังนั้นตัวอย่างในคู่มือนี้จึงไม่ได้ใช้ค่าควบคุม แต่อ้างอิงถึงคุณสมบัติของตัวควบคุมอย่างชัดเจน สามารถใช้ทั้งสองวิธีในการเขียนโค้ดและพิจารณาใช้ค่าควบคุมเมื่อไม่ทำให้เกิดปัญหาในการอ่าน
-