📘 10.5 – Uygulamalı static Kullanım Senaryosu
🔹 Açıklama:
Bir Windows Forms projesinde static üyeleri kullanmak yalnızca teorik değil, pratikte de çok önemlidir. Bu bölümde, birden fazla formda kullanılan ortak sayaç, kullanıcı oturumu veya merkezi ayarlar gibi gerçek bir senaryoya dayalı bir proje tasarımı yapılacaktır.
Buradaki örneklerde hem static değişken, hem static metot, hem de sınıflar arası iletişim pratiği bir arada verilecektir.
🔍 Senaryo Nerelerde Kullanılır?
- Giriş yapan kullanıcı bilgisinin tüm formlarda gösterilmesi
- Toplam satış ya da işlem sayısının tüm uygulama boyunca takibi
- Uygulama dili, tema gibi ayarların tüm pencerelerde sabit kalması
- Uygulama genelinde erişilebilen merkezi bilgi tutucular
- Oturum bilgisi, sistem durumu, loglama gibi yapılar
💡 Gerçek Hayat Senaryosu:
Bir öğrenci bilgi sistemi uygulaması geliştirilmekte.
- Kullanıcı giriş yaptıktan sonra, ismi tüm sayfalarda görünmeli
- Toplam öğrenci sayısı ve işlem sayısı Form1, Form2 ve Form3’te takip edilmeli
- Uygulama dili ve tema bilgisi tek bir yerden değiştirilmeli
🎯 Kazanımlar:
Bu başlık tamamlandığında öğrenci:
- static değişken ve metotları kapsamlı bir projeye nasıl entegre edeceğini öğrenir
- Uygulama boyunca bilgi paylaşımı yapmayı kavrar
- Kod organizasyonunu geliştirir ve tekrarı azaltır
- Yardımcı sınıfların proje genelinde nasıl kullanıldığını kavrar
🧪 10.5 – Uygulamalı static Kullanım Senaryosu: 5 Gerçekçi Örnek
📌 Örnek 1: Giriş Yapan Kullanıcının Adını Tüm Formlarda Göster
🎯 Amaç: Kullanıcı giriş yaptıktan sonra adı her formda görülsün.
public static class Oturum
{
public static string KullaniciAdi;
}
// Giriş formu
private void btnGiris_Click(object sender, EventArgs e)
{
Oturum.KullaniciAdi = txtAd.Text;
new FormAnaSayfa().Show();
this.Hide();
}
// Diğer formda göster:
private void FormAnaSayfa_Load(object sender, EventArgs e)
{
lblKullanici.Text = "Hoşgeldiniz: " + Oturum.KullaniciAdi;
}
📝 Açıklama:
Oturum sınıfı sayesinde kullanıcı bilgisi uygulama boyunca taşınır.
📌 Örnek 2: Toplam İşlem Sayısını Formlar Arasında Takip Etme
public static class Sayac
{
public static int ToplamIslem = 0;
public static void Arttir()
{
ToplamIslem++;
}
}
// Bir işlem yapıldığında:
private void btnIslem_Click(object sender, EventArgs e)
{
Sayac.Arttir();
lblIslem.Text = "Toplam İşlem: " + Sayac.ToplamIslem;
}
📝 Açıklama:
Her işlem sonrası sayaç artar, diğer formlarda da güncellenmiş halde görünür.
📌 Örnek 3: Tema Rengini static ile Uygulama Genelinde Tutmak
public static class Ayarlar
{
public static Color TemaRengi = Color.LightBlue;
}
// Formda uygulama:
private void Form1_Load(object sender, EventArgs e)
{
this.BackColor = Ayarlar.TemaRengi;
}
📝 Açıklama:
Tüm formlar aynı renk temasını paylaşır.
📌 Örnek 4: Otomatik Kullanıcı ID Üretimi
public class Kullanici
{
public static int SonID = 1000;
public int ID;
public Kullanici()
{
SonID++;
ID = SonID;
}
}
// Kullanım:
Kullanici k = new Kullanici();
MessageBox.Show("Kullanıcı ID: " + k.ID);
📝 Açıklama:
Her kullanıcı için benzersiz ID otomatik üretilir, takip kolaylaşır.
📌 Örnek 5: static Yardımcı Sınıf ile Formlar Arası Mesaj Gönderimi
public static class Yardimci
{
public static void MesajGoster(string mesaj)
{
MessageBox.Show(mesaj);
}
}
// Kullanım:
Yardimci.MesajGoster("Kayıt başarıyla tamamlandı.");
📝 Açıklama:
Her formdan kolayca çağrılabilir, tekrar eden kod ortadan kalkar.
✅ Özet:
Bu örneklerle öğrenciler:
- static üyelerin proje genelinde nasıl kullanıldığını
- Formlar arası veri paylaşımı yöntemlerini
- Gerçekçi bir proje mantığında kod yazmayı öğrendi
- static yapının performansa, organizasyona ve güvenliğe katkısını gördü
Pingback : A'DAN Z'YE C# İLE NTP - Hasan TANDOĞAN