C# Dersleri 56 - Projeye Yeni Form Eklemek

     Tek formdan oluşan uygulamalar genellikle ya işimizi görmek için yeterli olmaz; ya da çok kullanışsız olur. Projelerimizde çoğu zaman birden fazla form ile çalışmak isteriz. Bu makalede yeni form oluşturup kullanıcı ekranına getirelim ve bu yeni forma parametre gönderelim.

     Bir windows form projesi oluşturduğumuzda, önümüze bir adet boş windows form gelir. Yeni bir form eklemek için projeye sağ tıklayarak Add > New Item seçeneğini seçebiliriz. Önümüze gelen pencerede "Windows Form" seçeneğini seçtikten sonra alt bölümden yeni form için isim verip "Add" butonuna tıkladığımızda, projeye yeni bir form eklemiş oluruz. Ben burada yeni formu "frmSecondForm" olarak adlandırıyorum. 

C# ile windows form uygulamasına yeni bir form eklemek

     İkinci form üzerine istediğimiz tool'ları ekleyebilir, Form1'de yaptığımız herşeyi yapabiliriz. Ben bu forma, "Merhaba" yazan bir label ekliyorum yalnızca.

Windows form ile ikinci form düzenlemesi

     Projeye yeni bir form ekleyip bu form üzerinde düzenlemeler yaptık ancak şu haliyle bu formun son kullanıcı tarafından görüntülenebilmesinin bir yolu yok. Son kullanıcının erişebilmesi için bizim bu yeni formu "çağırmamız" gerekiyor. Bunun için ilk forma bir button ekleyelim ve bu buttonun click event'inde yeni formun çağrılmasını sağlayalım.     

private void btnClick_Click(object sender, EventArgs e)
{
    frmSecondForm frm = new frmSecondForm();
    frm.Show();
}

     Önce oluşturduğum "frmSecondForm" isimli formun "frm" adında bir nesnesini oluşturuyorum. Daha sonra da Show() methoduyla yeni formun getirilmesini sağlıyorum. Projeyi çalıştırıp buttona tıkladığınızda ikinci formun açıldığını göreceksiniz.

C# ile yeni form görüntülemek

 

     Show() vs ShowDialog()

     Yukarıdaki örnekte Show() methoduyla yeni formu çağırdığımızda, kullanıcı isterse ilk forma da dönebiliyor. İkinci form açık olduğu sürece ilk forma dönülemesin isterseniz Show() yerine ShowDialog() methodunu kullanabilirsiniz.

     Başka Forma Parametre Göndermek

     Yeni bir form oluşturup bunu kullanıcıya göstermemiz çoğu zaman tek başına yeterli olmayacaktır. Genellikle yeni forma parametre de göndermek isteriz. C# ile windows form uygulamaları oluştururken bu işlemi, Constructor'lar aracılığı ile yapabiliriz. "Constructor da ne?" diyenler şu makaleyi ziyaret edebilirler. 

     İlk formda bir textbox ve button olsun. Buttona tıklayınca yine ikinci form açılacak ancak bu sefer labelda "Merhaba" yerine, ilk formdaki textbox'a girilen string yazacak. 

     İkinci formun Constructor methodu :      

public frmSecondForm(string param)
{
    InitializeComponent();

    label1.Text = param;
}

     Bu formu çağırırken artık textbox'taki yazıyı da göndermemiz gerekiyor :      

private void btnClick_Click(object sender, EventArgs e)
{
    frmSecondForm frm = new frmSecondForm(textBox1.Text);
    frm.Show();
}

     Şimdi textbox'a bir değer girip buttona tıkladığımızda, açılan ikinci formda, textbox'a girilen değer yazacaktır.

     Projeyi buradan indirebilirsiniz.

YORUMLAR
Fatih Doğmuş
Şubat 1, 2020 19:35
peki yeni formu açtığımızda eski formun kapanmasını veya gizlenmesini, yeni formu kapattığımızda eskisinin gözükmesini nasıl sağlarız ?
Email Adresi *
Görüntülenecek İsim *
Yorum *
Paylaş
  • f