8 Mart 2014 Cumartesi

MDI ve SDI Formlar (Show, Hide, BringtoFront, SendToBack Metotları, MenuStrip)

İki tür esas arayüz vardır. SDI (single document interface) tek formlu arayüzler ve MDI (multiple document interface) çok formlu arayüzler olarak adlandırılırlar

SDI (Single Document Interface) Formlar
Tek başına çalışan formlara SDI form denir. Normalde yeni bir projeye başlarken projede bulunan form ve daha sonra eklenen formlar SDI formlardır. Bu formlar herhangi bir forma bağlı olmaksızın kendi başlarına çalışır.

MDI (Multiple Document Interface) Formlar
Bir MDI uygulaması, kullanıcıya aynı anda birçok formu gösterme imkânı vermektedir. MDI uygulaması bir MDI formu ve bunun içinde çok sayıda alt formdan oluşmaktadır. MDI formuna Parent (ebeveyn) form, içindeki formlara ise Child (çocuk) form denir. Excel ya da Word gibi Ofis programları ise MDI arayüze sahiptir ve aynı anda birden fazla dökümanın görünmesine izin verir. MDI arayüz programlarını bir ana pencere içinde birden fazla çocuk (child) pencere barındırabilen programlar olarak kabul etmek gerekir. Genellikle WEB uygulamalarında veya Windows ortamındaki bazı paket programlarda sürekli olarak bir butona ya da bir düğmeye tıkladığınızda yeni formlar ekrana gelmektedir. Bu formlar child form adını alır. İsterseniz kod çalışırke de form yaratabilirsiniz:
Dim Form2 As New Form2()

Bir formu  parent yani ana form yapmak için Properties penceresinde IsMDIContainer özelliğini true vermemiz gerekir.
“Show, Hide, BringToFront, SendToBack” Metotları
Show()
Visual Basic .NET’te uygulama çalıştığında seçilen formla uygulama başlar. Peki diğer formları uygulamaya nasıl getireceğiz? Kod penceresinde bir formu uygulamada göstermenin iki yolu vardır.
Form_ismi.Show (): Form bu şekilde uygulamada gösterildiğinde, form açıkken diğer formlara erişmek mümkündür. Formlar tıklanarak aktif hale getirilebilir.
Form_ismi.ShowDialog(): Form bu şekilde uygulamada gösterildiğin de, form açıkken diğer formlara erişmek mümkün değildir. Yani bu diyalog kutusuna benzer.
Hide ()
Uygulamalarınızda formları göstermeniz kadar gizlemenizde gerekecektir. Bir formu kaldırmak için de 3 yol vardır :
Form_ismi.Close (): Açılan form kapatılır.
Me.Close() : Bu formu hafızadan da siler.
Form_ismi.Hide () : Form bu şekilde gizlenir. Ama hafızadan silinmez.
BringToFront ve SendToBack
Uygulamalarımızda birden fazla form bulunuyorsa bu formları en öne getirmek ya da en arkaya gönderip birbiri arasında geçiş yapmanız gerekebilir.
Form_ismi.BringToFront ( ): Formu en öne getirir.
Form_ismi.SendToBack ( ) : Formu en arkaya gönderir.
MDI ana ve çocuk formların özellikleri şöyle sıralanabilir:
•Programın çalışması sırasında çocuk formlar, ana formunun çalışma alanını kullanır.
•Ana form simge durumuna getirildiğinde görev çubuğunda görülür. Çocuk formlar simge durumuna getirildiğinde ise ana form içinde görüntülenir.
•Bir çocuk form ekranı kapladığında, başlığı ana formunun başlığı olur.
•Aktif çocuk formunun menüleri, ana formunun menü çubuğunda görüntülenir.
•Çalışma anında yeni çocuk formlar oluşturulabilir.
•Visual Basic .NET tarafından oluşturulan ana form üzerindeki menü ve araç çubukları üzerinde isterseniz değişiklik yapabilirsiniz.
Programınızın alt tarafında StatusStrip, ToolStrip, MenüStrip ve ToolTip seçenekleri ile ihtiyaç duyduğunuz nesneleri ekleyip çıkartabilirsiniz. Bu seçeneklerden hangisini seçerseniz form üzerinde ona ait olan işlemler aktif olacaktır.

Menü Komutları
Visual Basic .NET projelerinde menü hazırlamak için MenuStrip   kontrolünden yararlanırız. MenuStrip kontrolünü seçip formun üzerine tıkladığımızda üst kısımda menü çubuğu, alt kısımda ise MenuStrip nesnesini temsil eden bir düğme görürüz. Menüde yer almasını istediğimiz ilk seçeneği menü çubuğunda Type Here ile işaret edilen yere yazmalıyız. Diğer elemanları istenilen yönde oklar ile hareket ederek ekleyebiliriz. Type Here komutunda oka tıklayarak menü elemanı ya da comboBox seçeneği ya da TextBox seçeneği seçilebilir. Farenin sağ tuşunu kullanarak menü elemanları üzerinde işlemler yapabilirsiniz.