C# Da Formlar Arası Geçiş

C# da windows form uygulamalarımızda bir formdan başka bir forma geçmek istersek bunu nasıl yapacağız.

Bir windows form application projesi oluşturalım açılan sayfamızda yeni bir form ekliyelim yeni form ekleme için projemizin üzerine sağ tıklayıp Add -> New İtem ->Windows Form diyoruz.Ve  Form2 eklemiş olduk.

Genelde internette gördüğüm kadarıyla diğer blog siteleri. Sadece bunu yazıyor

 Form2 form2 = new Form2();
 form2.Show();  // form2 göster diyoruz
 this.Hide();   // bu yani form1 gizle diyoruz

... ama burada unuttuğumuz bir nokta var form2 da formu kapatırsak visual studio da tekrar çalıştırmak istediğimiz vakit hata vericektir..

Bu hata programızın halen arkaplanda çalıştığını göstermektedir. Bunu gidermek için formumuz FormClosing eventına şu kodları yazıyoruz.

 private void Form2_FormClosing(object sender, FormClosingEventArgs e)
 {
  Application.Exit();
 } 
 private void Form1_FormClosing(object sender, FormClosingEventArgs e)
 {
   Application.Exit();
 }

Burada yapmak istediğimiz formumuz kapatdan (x tuşudan) kapattığımızda uygulamamız kapansın diyoruz normal şartlarda ilk yazdığımız kod hide olduğu için arka planda gizleniyor. Formumuzun biri arkaplanda açık olarak kaldığından hata alabiliyoruz.