สมมติว่าคุณมีแบบฟอร์มที่คุณใช้บ่อยๆ ตัวอย่างเช่น มีตัวควบคุมปฏิทินอยู่ที่มุมซ้ายบนของแบบฟอร์ม เพื่อให้ง่ายต่อการสร้างแบบฟอร์มประเภทนี้ คุณสามารถสร้างอินสแตนซ์ตามความต้องการของคุณ วางตัวควบคุมปฏิทิน ตั้งค่าคุณสมบัติ ฯลฯ
จากนั้น บันทึกแบบฟอร์มนี้ในไดเร็กทอรีเทมเพลต เช่น: C:Program FilesMicrosoft Visual StudioVb98TemplateForms
ตอนนี้ เลือก "เพิ่มแบบฟอร์ม" จากเมนูโครงการ และตัวเลือกจะปรากฏขึ้นสำหรับแบบฟอร์มที่คุณเพิ่งสร้างขึ้น เมื่อเพิ่มแบบฟอร์มประเภทนี้ คุณสมบัติที่ตั้งค่าไว้แต่เดิมก็จะมีอยู่ด้วย
เกี่ยวกับไฟล์ .FRX
ไฟล์ FRX คืออะไร?? จะแก้ไขได้อย่างไร? มันสามารถทำงานได้โดยไม่มีพวกมันไหม?
Visual Basic จะบันทึกข้อมูลไบนารีในไฟล์ FRX ตัวอย่างเช่น ถ้าคุณตั้งค่าคุณสมบัติกราฟิกของฟอร์มในขณะออกแบบ Visual Basic จะบันทึกกราฟิกในไฟล์ FRX หากไฟล์ FRX ถูกลบในเวลานี้ จะเกิดข้อผิดพลาดเมื่อเปิดไฟล์โครงการอีกครั้ง และข้อมูลที่เกี่ยวข้องทั้งหมดจะสูญหาย
ถ้าคุณแทนที่คุณสมบัติกราฟิกของฟอร์มในขณะออกแบบ Visual Basic จะทำการเปลี่ยนแปลงที่สอดคล้องกันในไฟล์ FRX อย่างไรก็ตาม ไม่แนะนำให้แก้ไขไฟล์ FRX ทีละไฟล์ เนื่องจากไม่มีทางแก้ไขได้จริงๆ
จะไม่มีอะไรเกิดขึ้นจริงๆ หากไม่มีไฟล์ FRX เหล่านี้ เว้นแต่ว่ามีความจำเป็นต้องสร้างข้อมูลไบนารี่ ณ เวลาออกแบบ เช่น ไฟล์กราฟิก คุณสามารถบันทึกกราฟิกและข้อมูลอื่นๆ ในไฟล์ทรัพยากรและเรียกใช้ขณะรันไทม์ หรือคุณสามารถเก็บข้อมูลแยกต่างหากและเรียกขณะรันไทม์ได้ วิธีการนี้จะไม่ก่อให้เกิดประโยชน์ใดๆ อีกต่อไป เนื่องจากต้องมีไฟล์แยกกันเหล่านี้เมื่อโปรแกรมกำลังทำงาน ในทางตรงกันข้าม หากคุณปล่อยให้ Visual Basic บันทึกข้อมูลนี้ลงในไฟล์ FRX เมื่อคอมไพล์และรัน ข้อมูลนี้จะรวมอยู่ในไฟล์ EXE แยกต่างหาก
ตรวจสอบว่ามีการโหลดแบบฟอร์มหรือไม่คุณสามารถใช้คอลเลกชันแบบฟอร์มเพื่อพิจารณาว่ามีการโหลดแบบฟอร์มที่มีชื่อเฉพาะหรือไม่ วิธีการคือ: วนซ้ำคอลเลกชันแบบฟอร์มและเปรียบเทียบว่าแต่ละรายการตรงกับชื่อเป้าหมายหรือไม่:
หมายเหตุ: ส่งคืนแบบฟอร์มตามชื่อหากมีการโหลดไว้
ฟังก์ชั่นส่วนตัว FindForm (ByVal form_name As String) As Form
หรี่ฉันเป็นจำนวนเต็ม
หมายเหตุ: สมมติว่าเราจะไม่พบมัน
ตั้งค่า FindForm = ไม่มีเลย
หมายเหตุ: ค้นหาแบบฟอร์มที่โหลด
สำหรับ i = 0 ถึง Forms.Count - 1
ถ้า Forms(i).Name = form_name แล้ว
ความคิดเห็น: เราพบแล้ว คืนแบบฟอร์มนี้
ตั้งค่า FindForm = แบบฟอร์ม (i)
ออกเพื่อ
สิ้นสุดถ้า
ถัดไป
ฟังก์ชันสิ้นสุด
เหตุใดแบบฟอร์มจึงไม่ปรากฏในแถบงานเมื่อทำการดีบักและรันโปรแกรม บางครั้งพบว่าฟอร์มไม่ปรากฏในทาสก์บาร์ สาเหตุคืออะไร เหตุผลที่เป็นไปได้มีดังต่อไปนี้:
1. ShowInTaskBar ถูกตั้งค่าเป็นเท็จ
2. แบบฟอร์มนี้เป็นแบบฟอร์มย่อย MDI
3. BorderStyle ของแบบฟอร์มคือกล่องโต้ตอบที่มีขนาดคงที่
4. BorderStyle ของแบบฟอร์มเป็น ToolWindow ขนาดคงที่
5. BorderStyle ของแบบฟอร์มเป็น ToolWindow ขนาดต่างๆ