MDI ( Multiple Document Interface ) FORMLAR

MDI formlar icerisinde birden fazla form penceresi kullanilabilen form yapisidir. MDI formuna parent (ebeveyn) form , icerisindeki formlara ise child (cocuk) form adi verilir.

Projemize icerisindeki formlardan birini MDI Parent Form yapmak icin IsMdiContainer ozelligini True yapmaliyiz.Bunu yaptigimiz anda form asagidaki gibi gorunum alacaktir.


[IMG]http://desmond.**************/Himg39/scaled.php?server=39&filename=mdi1.png&res=medium[/IMG]

Form uzerine bir MenuStrip kontrolu ekleyerek menuler olusturulmustur.


[IMG]http://desmond.**************/Himg99/scaled.php?server=99&filename=mdi2.png&res=medium[/IMG][IMG]http://desmond.**************/Himg254/scaled.php?server=254&filename=mdi3.png&res=medium[/IMG]

Kodlar:

PHP Code:
Public Class Form1
Dim sayi As Byte

Private Sub YeniOlusturToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles YeniOlusturToolStripMenuItem.Click
Dim yeniform As New Form()
yeniform.MdiParent = Me
sayi += 1
yeniform.Text = "Form" & sayi
yeniform.Show()
End Sub

Private Sub HepsiniKapatToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles HepsiniKapatToolStripMenuItem.Click
For Each ChildForm As Form In Me.MdiChildren
ChildForm.Close()
Next
End Sub

Private Sub CikisToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CikisToolStripMenuItem.Click
End
End Sub

Private Sub BasamaklaToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BasamaklaToolStripMenuItem.Click
Me.LayoutMdi(MdiLayout.Cascade)
End Sub

Private Sub YatayDoseToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles YatayDoseToolStripMenuItem.Click
Me.LayoutMdi(MdiLayout.TileHorizontal)
End Sub

Private Sub DikeyDoseToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DikeyDoseToolStripMenuItem.Click
Me.LayoutMdi(MdiLayout.TileVertical)
End Sub
End Class


Kodu Calistirarak 5 adet child form olusturalim


[IMG]http://desmond.**************/Himg7/scaled.php?server=7&filename=mdi4.png&res=medium[/IMG]


Basamakla islemi yapalim


[IMG]http://desmond.**************/Himg52/scaled.php?server=52&filename=mdi5.png&res=medium[/IMG]


Yatay Dose islemi yapalim.


[IMG]http://desmond.**************/Himg13/scaled.php?server=13&filename=mdi6.png&res=medium[/IMG]


Bir tane daha child formu ekleyerek dikey doseme islemi yapalim.


[IMG]http://desmond.**************/Himg717/scaled.php?server=717&filename=mdi7.png&res=medium[/IMG]

-----Proje Ozeti Olarak -----

Yeni bir child form'u olustururken

yeniform.MdiParent = Me

Olusturdugumuz child form'lari kapatmak icin

ChildForm.Close


Acik olan child formlari basamaklamak icin


MDI formun yerlesim bicimini (LayoutMdi), MdiLayout.Cascade


Acik olan child formlari yatay dosemek icin


MDI formun yerlesim bicimini (LayoutMdi), MdiLayout.TileHorizontal


Acik olan child formlari dikey dosemek icin


MDI formun yerlesim bicimini (LayoutMdi), MdiLayout.TileVertical


Not

Kodlarin bazi bolumleri Volkan Aktas'in "Visual Basic.Net 2010" kitabindan alintidir..
Calismalarinizda basarilar..

__________________