การสร้างโปรแกรมที่มีหลายฟอร์ม
สร้างเมนูในการใช้งานโปรมแกรม ทำให้ผู้ใช้สะดวกในการใช้งานโปรแกรม ปกติการสร้างเมนูจะแบ่งหน้าที่การทำงานของเมนูต่างๆ ให้เหมาะสม โดยมักจะมีการกำหนดรูปแบบของเมนูเหมือนกับโปรแกรมมาตรฐานที่ใช้กันโดยทั่วไป ซึ่งผู้ใช้มีความคุ้นเคยทำให้ไม่ต้องเสียเวลาในการเรียนรู้ การเขียนโปรแกรมต้องคำนึงถึงการสร้างฟอร์มให้มีความเหมาะสมกับเมนูที่สร้างขึ้น ซึ่งมีการเขียนโปรแกรมที่แตกต่างกัน
การสร้าง MDI Form
MDI (Multiple Document
Interface) เป็นรูปแบบแอพพลิเคชั่นที่มีวินโดว์ย่อย (Child
Form) ได้หลายวินโดว์ โดยวินโดว์ย่อยจะอยู่ภายในวินโดว์หลัก (Parent
Form หรือ MDI Form)
วินโดว์ย่อยสามารถถูกย่อ ขยาย หรือเปลี่ยนตำแหน่ง ซึ่งจะอยู่ภายในวินโดว์หลักเท่านั้น
วินโดว์ย่อยสามารถถูกย่อ ขยาย หรือเปลี่ยนตำแหน่ง ซึ่งจะอยู่ภายในวินโดว์หลักเท่านั้น
ตัวอย่าง
การสร้าง MDI Formต้องสร้าง Parent Form และ Child Form ขึ้นมา
กำหนด Form1 ให้ เป็น Parent Form โดยกำหนดที่ หน้าต่าง Properties โดยกำหนดคุณสมบัติดังนี้
IsMdiContainer
= True
' ฟอร์มนี้เป็น MDI Form โดยกำหนดเป็น True หรือ False ดังรูป
สำหรับ Child Form จะสร้างเพียงฟอร์มเดียวเพื่อเป็นต้นแบบเท่านั้น
ส่วนที่เหลือจะถูกสร้างโดยเขียนโปรแกรม
ตัวอย่าง
สร้าง Child Form โดยยึดแบบ MDIChildForm
Dim ChildForm As New MDIChildForm
ChildForm.MdiParent = Me ‘กำหนด Child Form มี Parent ปัจจุบัน
ตัวอย่าง
สร้าง Child Form โดยยึดแบบ MDIChildForm
Dim ChildForm As New MDIChildForm
ChildForm.MdiParent = Me ‘กำหนด Child Form มี Parent ปัจจุบัน
ออกแบบเมนูด้วย เครื่องมมือ MainMenu ตามรูปข้างล่าง
ต้องการแสดง child form ขึ้นมา เมื่อกด ที่เมนู File >> New
ให้ดับเบิ้ลคลิกที่เมนู New แล้วเขียนโค้ดข้างล่างนี้
ให้ดับเบิ้ลคลิกที่เมนู New แล้วเขียนโค้ดข้างล่างนี้
Public Class Form1
Dim f1 As Form2 Dim f2 As Form2
Private Sub NewToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NewToolStripMenuItem.Click
f1 = New Form2 f1.Show() f2 = New Form2 f2.Show() ' f1.IsMdiChild = True f1.MdiParent = Me f2.MdiParent = Me End Sub |
LayoutMdi กำหนดการจัดระเบียบให้กับ Child Form โดยมีดังนี้ Tile Horizontally, TileVertical, Cascade, ArrangeIcons
หากต้องการจัดเรียง child form ในแนวตั้งดังรูป
ให้ดับเบิ้ลคลิกที่เมนู window >> Virtical แล้วเขียนโค้ดข้างล่างนี้
Private Sub VerticalToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles VerticalToolStripMenuItem.Click
Me.LayoutMdi(MdiLayout.TileVertical)
End Sub
|
หากต้องการจัดเรียง child form ในแนวนอนดังรูป
ไม่มีความคิดเห็น:
ไม่อนุญาตให้มีความคิดเห็นใหม่