<%@ Page Language="VB" ContentType="text/html" ResponseEncoding="windows-874" %> http://www.siam2dev.com >> ชุมชนนักพัฒนาซอฟต์แวร์ของไทยแห่งใหม่
เข้าสู่ระบบ ::    
http://www.siam2dev.com >> ชุมชนนักพัฒนาซอฟต์แวร์แห่งใหม่
Home   
   VB.NET
     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 ปัจจุบัน

ออกแบบเมนูด้วย เครื่องมมือ MainMenu ตามรูปข้างล่าง

 

ต้องการแสดง child form ขึ้นมา เมื่อกด ที่เมนู File >> 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 ในแนวนอนดังรูป

 


ให้ดับเบิ้ลคลิกที่เมนู window >> Horizontal แล้วเขียนโค้ดข้างล่างนี้

Private Sub HorizontalToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HorizontalToolStripMenuItem.Click

      Me.LayoutMdi(MdiLayout.TileHorizontal)

End Sub

 

 


        :: คลิกที่ปุ่ม จะได้ผลลัพธ์ดังนี้




:: http://www.siam2dev.com ::
e-mail :: xnattapong@hotmail.com , songneam@gmail.com