Az biraz OOP üzerine kafa yorarsan, oluşturduğun Form2'nin, Form1 içerisinde oluşturulmuş bir nesne olduğunu anlarsın. Form1 kapandığında, onun içerisinde oluşan tüm nesnelerinde, o form1 instanceı ile birlikte yok olduğunu anlarsın.
Sonra az biraz Google'da aratırsan, aynı problemin çözümünün Hide()
olduğunu görürsün fakat bunun potansiyel bir bugla geldiğini de görürsün. Çünkü Form2'yi kapattığında Form1 sadece gizlenmiş olacaktır ve dolayısıyla program tamamen kapanmayacak. Bunun çözümü olarak da Form2'nin exit eventine Application.Close
koyarsın böylece program tamamen kapanır.
Yok program tamamen kapanmasın Form1 geri açılsın dersen de, Form2'nin constructoruna parametre olarak Form1'i ekler ve Form2'yi oluştururken this parametresi verirsen, Form2'den form2'yi çağıran form1'in örneğine erişir ve ondan da Show fonksiyonuna erişebilirsin. Yine OOP becerisi. OOP öğrenmezsen bunların hepsi anlamsız gelir.