Projemi geliştirmek için nesneye yönelik (object oriented) yapılara ihtiyacım var. Visual Studio da nesne odaklı yapılara sınıf (Class) denir.

Basit olarak düşünürsek masa ve sandalye bir nesnedir. Ortak ve farklı özellikleri var. Rengini ve boyutlarını değiştirebiliriz.

Yazılımda nesneler de böyledir. Formlar bir nesnedir. Yani bir Form sınıfıdır. Formlara nesne odaklı işlemler yapabiliriz.

Gördüğünüz gibi Public Class yani Genel Sınıf ile form adı ile başlar. Programda yazıların fontunu ve rengini aynı özelliklerde kullanmak istiyorum.
Renkte değişiklik yaptığımda her yerde değişmesini istiyorum. Bir Tema veya Style sınıfı yapacağım.

Sınıfları da bir klasör altında toplarım. Add Class ile bir Tema sınıfı oluşturuyorum. Burada da gördüğünüz gibi sınıf Public Class Tema ile başlıyor ve End Class ile sınıf bitiyor.

Şimdi genel sadece okunan bir özellik vermek için Public Readonly Property ile Font özelliğini değiştirmek istiyorum. Buna isim olarak Font verdim, istediğimi verebilirim. Burada önemli olan AS kelimesinden sonra özelliğin yapısıdır. Bu yapıyı Font olarak seçiyorum. Bu özellikten bilgi alacağim için Get komutu ile bir Font değeri dönüşü sağlayacağım. Aynı şekilde renk için bir özellik vermek istiyorum. Burada yine AS ten sonra dönüş yapacak değer Color yani renktir. Dönüş rengini kırmızı yani red olarak ayarlıyorum.

Şimdi Formumda bu temayı uygulayacağım. GroupBox ın adını değiştiriyorum. Font ve Color özellikleri GroupBox a uygulacağım. Form_Load yani form yükleme olayında form daha gösterilmeden önce font ve rengi değiştireyim. Burada Tema dan özelliklerin gelmediğini görüyorum. Bunu iki şekilde yapabilirim.
Birinci şekilde özelliklere Shared yani paylaşılan özellik eklemem gerekiyor. İkinci şeklini daha sonra database ilişkilerinde anlatacağım. Şimdi Temadan fontu ve rengi kullanabilirim.

Programı çalıştırdığımda GroupBox içindeki font ve rengin değiştiğini göreceğim.

Sınıfta yaptığım bir değişiklik sınıftan değer aldığım her yerde değişecektir. Şimdi bu sınıf biraz geliştireyim. Grup ve Label font ve renklerini ayrı özellik olarak vereyim. Bunu sınıf içinde sınıflar açarak yapıyorum. Kolaylık olsun yukarıdaki özellikleri bu sınıfın içine kopyalayım. Özelliklerin dönüş değerlerini değiştireyim.

Etiketlerin isimleri label1 den başlayarak gidiyor. Bütün label etiketlerinin font ve rengini değiştiriyorum.

Paylaş

Kingston Yetkili Satıcı
Sandisk Yetkili Satıcı
Samsung Yetkili Satıcı
WesternDigital Yetkili Satıcı