C# MdiForm İşlemleri ve Panel İçinde Form Açmak

C# MdiForm İşlemleri ve Panel İçinde Form Açmak

20 Haziran 2018 4 Yazar: Mustafa BÜKÜLMEZ
Toplam Görüntülenme : 1847
Yaklaşık okuma süresi : 6 DK
C# Ekran Görüntüsü Almak (ScreenShot) – Çalışan Örnekli
C# Tarih OADate Dönüşümleri

C# MdiForm İşlemleri ve Panel İçinde Form Açmak , yazımız ile c sharp eğitimlerimize devam ediyoruz. Bu dersimizde formları ayrı pencerelerde değilde tek ana pencerenin içerisinde nasıl açacağımızı göstereceğim. Ayrıca bir panel içerisinde form açma işlemini de göstereceğim. Benzer konular olduğundan dolayı tek ders içerisinde vermeyi daha uygun gördüm. Lafı fazla uzatmadan hadi gelin C Sharp MdiForm İşlemleri ve Panel İçinde Form Açmak dersimizde geçelim.

 

C Sharp MdiForm İşlemleri ve Panel İçinde Form Açmak

 

Advertisements

C Sharp MdiForm İşlemleri

C sharp’ta from içerisinde form açma işlemine MdiFrom adı verilmektedir. Her zaman olmasa da bazen gerekli olabilmektedir. Bazen bir gereklilik bazende tercih meselesi olan MdiForm işlemi yapılması nedense insanlara karışık geliyor. Ancak aslında çok basit bir işlemdir. Hagi görelim.

Öncelikle Ana form olacak formun özellikler sayfasına gelelim ve IsMdiContainer özelliğini true yapalım. Kod olarak yapmak isterseniz de,

this.IsMdiContainer = true;

kodunu kullanabiliriz. Bu kod ile formumuz bir form kapsayıcı haline geliyor. Yani bu form içerisine form yükleyebiliriz demek oluyor.

Şimdi Ana Form olacak formumuzun kod kısmını açıyoruz ve aşağıdaki metodu yazıyoruz.

        void AcilacakForm(Form Acilacak)
        {
            // Not: Ana Form (Form1) hariç, sadece Form2 olduğu için sadece Form2'yi ele alıyoruz.
            // Başka formlarda olursa hepsini kontrol eder.

            bool durum = false;
            // Burada AnaForm üzerinde açık olan mdi formlar içerisinde arama yapıyoruz.
            foreach (Form eleman in this.MdiChildren)
            {
                if (eleman.Text == Acilacak.Text) // Eğer Form2 Form1 üzerinde açık ise : 
                {
                    durum = true; // Eğer Form2 AnaForm üzerinde açık ise durum true olacak.
                    eleman.Activate(); // Form2 zaten açık olduğundan önümüze Form2 gelecektir.
                }
            }
            if (!durum) // Eğer Form2 AnaForm üzerinde açık değilse : 
            {
                Acilacak.MdiParent = this; // Form2'nin ana penceresi olarak AnaForm'u ayarlar.
                Acilacak.Show(); // Form2'yi açar
            }
        }
    

Şimdi mdi olarak açmak istediğiniz form için AnaForm’a bir buton ekleiyoruz ve click eventi içerisinde aşağıdakı kodlarımızı yazıyoruz.

 Form2 frm2 = new Form2();
            // From nesneni olarak parametre alan metodumuza açmak istediğimiz formu gönderiyoruz.
            AcilacakForm(frm2);

Hazırladığımızı metodu kullanarak istediğimizi halletmiş oluyoruz.

İlgili İçerik  C# Const Kavramı

C sharp eğitimi

C Sharp Panel İçinde Form Açmak

Panel içinde form açma işlemini ilk defa küçük bir hile yapmak için kullanmıştım. Birbirinden bağımsız analiz formları vardı. Alışlar, Satışlar, Borçlar, Alacaklar gibi… Hepsini de ayrı formlarda yapmıştım ve ayrı butonlara bağlamıştım. Müşteri hepsini tek ekranda görmek istediğinde tüm formları tek formun içine sokmak bir dünya uğraş istiyordu. Bende bu yöntemi görmüştüm daha önce… O anda aklıma geldi ve bu yöntemi kullanarak saatler sürecek bir işlemden kurtulmuş oldum. Tabi sonradan iş yetkilendirmeye geldiğinde tekrar ayrı sayfalarda olması daha iyi olur demişlerdi. 😀 😀 

Yukarıdaki örneğimiz üzerinden devam edelim. AnaForm’a bir panel ekleyelim.

panel1.Controls.Clear(); // Panel'in içini temizliyoruz..
            Form2 frm2 = new Form2();
            frm2.TopLevel = false;
            panel1.Controls.Add(frm2); // panel1 içerisinde formu ekledik

            frm2.Show(); // formu gösterdik. Ancak buraya dikakt. ShowDialog(); olarak değil Show(); olarak açıyoruz.
            frm2.Dock = DockStyle.Fill; // Açılan formun paneli doldurmasını sağladık.
            frm2.BringToFront(); // formu panel içinde en öne getirdik

Yukarıda verdiğimiz kodlar sayesinde form2 yi AnaForm’a eklediğimiz panel nesnesi içerisinde gösterbililiyoruz.


C Sharp MdiForm İşlemleri ve Panel İçinde Form Açmak , dersimizde bu kadar dostlar. Diğer derslerimizde görüşmek üzere.

C Sharp Eğitim Seti ve ERP Programlama eğitimi sayfasına gitmek için tıklayınız.

Sağlıcakla ve takipte kalın. 😉

C# Ekran Görüntüsü Almak (ScreenShot) – Çalışan Örnekli
C# Tarih OADate Dönüşümleri