Friday, March 02, 2012

C#'ta sınıftan formdaki kontrollerde değişiklik yapmak

Visual Studio
Amacımız sınıftan ya da herhangi bir formdan, formdaki istenen kontrolde değişiklik yapmak. Labelın metnini değiştirmek, listboxa yeni veri eklemek gibi.



Listboxa yeni veri ekleyeceğimizi varsayalım. Sınıfımızın adı Sinif.

Öncelikle kontrolün modifiersını internal olarak ayarlıyoruz. Eğer proje dışından da erişilecekse public yapıyoruz.

Visual Studio'da modifiersı değiştirmek
Modifiersı değiştiriyoruz.

Sonra Sinif sınıfında ya da formda void fonksiyon oluşturuyoruz. Proje içinde kullanılacaksa internal olabilir, proje dışında da kullanılacaksa public olabilir. Proje içinde kullanılacağını varsayıyorum.

internal static void ekle(Form1 form1){
    form1.listBox1.Items.Add("Eftal GEZER Blog");
}


Bu fonksiyonu bu işlemi yapmamız gereken yerde çağırıyoruz. Örneğin butona tıklandığında listboxa veri ekleme işlemi yapılacaksa button1_Click kısmına yazılabilir.

 Sinif.ekle(this);
Burada dikkat edilmesi gereken, fonksiyona this şeklinde formun adını göndermek, Form1 form1 şeklinde fonksiyonda bu bilgiyi almak. Bunu yapmazsak listboxa veri eklenir ancak gösterilmez.

1 comment: