Part1 de, form2 den form1 e veri yollamıştık , şimdi 2. bölümdede form1 den form2 ye nasıl en mantıklı şekilde veri yollayabiliriz bunu başarmaya çalışıcaz.Eğer constructor hakkında bilgi sahibi iseniz , bunu yapmanın aslında çok kolay olduğunu göreceksiniz.
Form2 ye veri aktarmak için gene form2 nin bir örneğini yaratıcaz ama Form2 frm = new Form2(); dediğimizde neler oluyor bir bakalım ;

Programda öncelikli olarak main methodu çalışır bildiğimiz gibi.Bundan sonra form'a ait instance yaratılır.Akabindede yukarıda gördüğünüz kurucu method'un içindeki initializeComponent methodu ile ilk değerler atanır.Eğer siz , ben class'larimda kurucu method yaratmıyorum ama instance alabiliyorum diyorsanız, bilin ki varsayılan kurucu methodu kullanıyorsunuz.Çünkü siz yaratmassanız arka tarafta boş bir kurucu method yaratılıyor.
Peki constructor hakkında bilmemiz gereken başka şeyler var mı ?
1) eğer instance almak istiyorsanız , mutlaka public olmak zorundadırlar.private yaparsanız static veya abstract olarak tanımlanmış class lar gibi veya interface lerde olduğu gibi class'in instance ını alamassınız.Bu şekilde , instance alınmamasını istediğiniz durumlarda olacaktır.
2) constructor bir methoddur ama geri dönüş değeri yoktur.
3) constructor'in ismi class ismi ile aynı olmak zorundadır.
eğer kod yazmadan constructor'ı yaratmak istiyorsanız "ctor" yazıp 2 kere taba basmanız yeterlidir.Bu tarz kısa yolları kullanmak oldukça keyifli oluyor ve kod yazma hızını arttırıyor.Eğer initializeComponent methodunun içeriğini görmek istiyorsanız , üzerindeyken sağ tuşa basıp go to defination diyerek designer.cs nin içeriğini görebilirsiniz.
eğer biz yaratmaz isek varsayılan bir constructor olduğunu söylemiştik ama eğer biz bir constructor oluşturursak hala varsayılan constructor duruyor olmaz.uygulamamızda sadece bizim yarattığımız constructor olur.Peki biz bu yarattığımız constructor methoda bir parametre verirsek ne olur ?


yani diyorki ; hop bilader benim 0 parametre alan bi cunstructor 'im yok nereye gidiyorsun ?? işte tam bu noktada form1 den form2 ye veri aktarma ile ilgili bir aydınlanma ,bir parıltı hissetmeniz gerekiyor.. : )
Madem ben Form1 içinden form2 nin instance'ını alabiliyorum.Madem ki instance alırken zaten form2 nin kurucu methoduna erişiyorum.Kurucu methodun parametresi ile form2 ye ne yollamak istiyorsam rahat rahat yollarım.
Form2 ;

form1 ;

artık buradan ne yollamak istediğiniz size kalmış.Parametreyi object olarak verip , çok daha farklı şeylerde yollayabilirsiniz.