C# projesi oluşturuyorsanız çoğu zaman birden fazla formla çalışmanız gerekebilir. Örneğin bir kütüphane programı yaptığımızı düşünelim. Burada öğrenciler, kitaplar, ödünç gibi farklı işlemleri yapmak için farklı Formlar kullanmak gerekecektir.
Bu makalede C# Windows Form projesine 2. bir Form nasıl eklenir? ve eklenen bu Form’ a butona tıklandığında nasıl geçiş yaparız? gibi soruları cevaplayacağız.
C# Projeye İkinci Formu / Yeni Formu Ekleme
C# projesine Form eklemek için Visual Studio programında Solution Explorer penceresini kullanabilirsiniz.
Solution Explorer penceresinde projenin üzerinde sağ tıklayarak, Add > Form adımlarını takip edebilirsiniz. Gelen diyalog penceresinde Formunuzun ismi varsayılan olarak Form2.cs olarak gelecektir. Dilerseniz isim değişikliği yapabilirsiniz.
C# Butona Basıldığında İkinci Formu Açma
Yeni Form’u projeye ekledikten sonra Form1 e geçelim ve 1 adet Button ekleyelim ve çift tıklayarak click olayını açalım.
Button Click olayı için aşağıdaki kodları yazalım.
1 2 3 4 5 6 7 8 9 |
private void button1_Click(object sender, EventArgs e) { Form2 form2 = new Form2(); // İkinci formu gösterin form2.Show(); } |
Yukarıdaki Form’ da form2.Show()
ve form2.ShowDialog()
komutlarını kullanabiliriz.
form2.Show()
ve form2.ShowDialog()
arasındaki fark, ikinci yöntemin bir modal pencere oluşturmasıdır. İşte bu iki yöntemin farklılıkları:
- form2.Show(): Bu yöntem, bir formu gösterirken uygulamanın diğer işlemlere devam etmesine izin verir. Yani, form gösterildiğinde kullanıcı ana formun diğer alanlarına veya işlevlerine erişebilir. Bu, birden fazla formun aynı anda görüntülenebileceği ve kullanıcının bu formlar arasında geçiş yapabileceği anlamına gelir. Aynı anda birden fazla formun açılmasına izin verir.Örneğin,
form2.Show()
yöntemi kullanıldığında, kullanıcı Form2’yi görebilirken, arkada Form1’deki işlemlere devam edebilir. Form2’de yapılan değişiklikler, Form1 üzerindeki işlemleri etkilemez. - form2.ShowDialog(): Bu yöntem ise bir modal pencere açar. Modal pencere, kullanıcı bu pencereyle etkileşime girene kadar diğer formlarla etkileşime girmesini engeller. Yani, kullanıcıya modal pencere dışındaki diğer formlarla etkileşime geçme izni vermez. Modal pencere kapatılmadan diğer işlemlere devam edilemez.Örneğin,
form2.ShowDialog()
yöntemi kullanıldığında, kullanıcı Form2’yi görüntülerken, arkada Form1 üzerinde işlem yapamaz. Kullanıcı, Form2’yi kapatmadan önce diğer formlarla etkileşime geçemez.
Modal pencere genellikle, kullanıcının belirli bir işlemi tamamlaması veya bir seçim yapması gerektiği durumlarda tercih edilir. ShowDialog()
yöntemi, kullanıcının öncelikli olarak bir pencere ile etkileşimde bulunmasını ve bu işlem tamamlanana kadar diğer işlemleri erteleme veya engelleme ihtiyacı olduğu durumlarda kullanılır.
Son olarak, projenizi derleyin ve çalıştırın. Butona tıkladığınızda ikinci formun başarıyla açılıp açılmadığını test edin.