09 December 2016

MDI Formlar

MDI Form uygulaması ile birden fazla formu aynı aynda açabiliriz. MDI Formu uygulaması bir adet MDI form ve içinde bulunan çok sayıda alt formdan oluşmaktadır. Burada bulunan ana form parent formdur, içindeki formlar ise child formlardır.

Bir formu MDI ana formu yapmak için “IsMdiContainer” özelliğini tur yapmak ve kodu kısmında “MdiParent” özelliği ile diğer formları çocuk formu haline getirmek gerekir. Bunun için aşağıdaki şekilde kodlama yapılır:

//MDI child dorm için yeni instance alınır
Form2 chForm = new Form2();

//Child forma parent form atanır
chForm.MdiParent=this;

//Child form penceresi görüntülenir.
chForm.Show();

Parent form içindeki child formların layoutlarını ayarlama

LayoutMdi methodu kullanılarak child form layout ayarlanabilir. Child formlar ana formlar içinde horizontal, vertical ve cascade olmak üzere üç şekilde yerleştirilebilir. MdiLayout enumerationu kullanılır ve Cascade, TileHorizontal,TileVertical elemanlarından biri seçilir.

//Child formları cascade olarak ayarlamak
this.LayoutMdi(MdiLayout.Cascade);

Comments

  1. ibrahim says:

    c# mdiparent form yaotım iki adet ilk form kullanıcı bilgileri var ikinci form baska gitiş basınca ikinci form acılıyor ama ilk formdaki nesnelerin arkasında kalıyor onu öne nasıl alabilirim?

    • Developer says:

      Form frm = new Form();
      frm.TopMost = true;
      frm.MDIParent = this;
      frm.ShowDialog();

      Şeklinde yaparsan en üstte görünür

  2. Asıl sorun şu.
    Form açmak kolay iş. Düşünün bür datagrid iniz var içine veri doldurdunuz. Sonra o verilerden sorgu yapmak istiyorsunuz kıısıtlama yapmanız lazım. Küçük bir Childform oluşturdunuz. oraya kısıtlayacak textboxları koydunuz. Sonra ok tuşuna basınca sorgu çalıştırması lazım ama o formdan diğer forma nasıl geçiş yapacaksın?

  3. sade ve akıcı anlatım gerçekten, ufak bir sorum olacak mdi form içinde çıkan formu tam ekran yapabiliyormuyuz ?