C# C# Windows Form Örnekleri

C# ile Elektrikli Cihazların Tüketimini Hesaplayan Form Uygulaması

Günümüzde enerji tüketimi, hem bireysel hem de kurumsal düzeyde önemli bir konu haline gelmiştir. Enerji tasarrufu yapmak ve tüketimi kontrol altında tutmak için cihazların ne kadar enerji harcadığını bilmek büyük önem taşır. Bu makalede, C# programlama dili kullanılarak geliştirilen basit bir “Cihaz Tüketim Hesaplama Uygulaması”nı inceleyeceğiz. Bu uygulama, kullanıcıların evlerinde veya iş yerlerinde kullandıkları cihazların enerji tüketimini hesaplamalarına ve bu tüketimle ilgili özet bilgileri görmelerine olanak tanır.

Form Tasarımı

Formumuzda 4 adet Label, 3 adet TextBox,2 adet Button ve 1 adet DataGridView denetimi yer almaktadır.

Projenin Amacı

Bu proje, kullanıcıların elektrikli cihazlarının aylık tüketimini hesaplamasına yardımcı olur. Kullanıcı, cihazın güç tüketimini ve günlük kullanım süresini girdikten sonra, program cihazın aylık tüketimini hesaplayarak listeye ekler. Bu işlemleri yaparken C# Class yapısı ve List yapısını kullanacağız.

Uygulamanın Genel Yapısı

Uygulama, Windows Forms kullanılarak geliştirilmiştir ve temel olarak aşağıdaki bileşenlerden oluşur:

  1. Cihaz Sınıfı (Cihaz.cs): Bu sınıf, cihazların özelliklerini (cihaz adı, gücü, kullanım süresi) ve tüketim miktarını hesaplama işlevini içerir.
  2. Ana Form (Form1.cs): Bu form, kullanıcı arayüzünü ve cihazların listelenmesi, eklenmesi, silinmesi gibi işlemleri yönetir.

Cihaz Sınıfı (Cihaz.cs)

Cihaz sınıfı, cihazların temel özelliklerini ve tüketim hesaplama mantığını içerir. Sınıfın özellikleri şunlardır:

  • CihazAdi: Cihazın adını temsil eder.
  • CihazGucu: Cihazın gücünü (Watt cinsinden) temsil eder.
  • KullanilanSure: Cihazın günlük kullanım süresini (saat cinsinden) temsil eder.
  • TuketimMiktari: Cihazın aylık tüketim miktarını hesaplar.

Tüketim miktarı, TuketimHesapla() metodu ile hesaplanır. Bu metod, cihazın gücünü, kullanım süresini ve birim elektrik fiyatını (örneğin, 2.07 TL/kWh) kullanarak aylık tüketim miktarını hesaplar.

Ana Form (Form1.cs)

Ana form, kullanıcıların cihazları ekleyebileceği, silebileceği ve tüketim özetini görebileceği bir arayüz sunar. Formun temel işlevleri şunlardır:

  1. Cihaz Ekleme: Kullanıcı, cihaz adı, gücü ve kullanım süresini girerek yeni bir cihaz ekleyebilir. Bu cihaz, bir liste içinde saklanır ve DataGridView’de listelenir.
  2. Cihaz Silme: Kullanıcı, listeden bir cihaz seçerek silebilir.
  3. Tüketim Özeti: Kullanıcı, tüm cihazların toplam tüketim miktarını, KDV’yi ve toplam ödenecek tutarı görebilir.

BindingList Kullanımı

  • BindingList<T>, bir koleksiyon türüdür ve veri bağlama (data binding) işlemlerini kolaylaştırır.
  • cihazListesiCihaz nesnelerini tutar ve DataGridView ile otomatik olarak senkronize olur. Yani, listede yapılan herhangi bir değişiklik (ekleme, silme) anında DataGridView‘e yansır.

Form1 Constructor (Yapıcı Metod)

  • Form yüklendiğinde, dataGridView1‘in veri kaynağı (DataSourcecihazListesi olarak ayarlanır. Bu sayede, cihazListesi‘ndeki veriler otomatik olarak DataGridView‘de gösterilir.

Cihaz Ekleme İşlemi (BtnEkle_Click)

  • Girdi Kontrolü: txtSure ve txtGuc alanlarına girilen değerlerin sayısal olup olmadığı kontrol edilir. Ayrıca, txtAd alanının boş olup olmadığı kontrol edilir. Geçersiz bir girdi varsa, kullanıcıya hata mesajı gösterilir.
  • Cihaz Ekleme: Geçerli girdiler varsa, yeni bir Cihaz nesnesi oluşturulur ve cihazListesi‘ne eklenir.
  • Temizleme ve Özet Güncelleme: Temizle() metodu ile formdaki metin kutuları temizlenir ve OzetYazdir() metodu ile özet bilgisi güncellenir.

Cihaz Silme İşlemi(BtnSil_Click)

  • Seçim Kontrolü: Kullanıcının DataGridView‘den bir satır seçip seçmediği kontrol edilir. Seçim yoksa, hata mesajı gösterilir.
  • Cihaz Silme: Seçili satırın indeksi kullanılarak, ilgili cihaz cihazListesi‘nden silinir.
  • Özet Güncelleme: OzetYazdir() metodu ile özet bilgisi güncellenir.

Form Yüklendiğinde Örnek Veriler Ekleme (Form1_Load)

  • Form yüklendiğinde, örnek cihazlar (BuzdolabıÇamaşır MakinesiKombiBulaşık MakinesicihazListesi‘ne eklenir.
  • OzetYazdir() metodu ile özet bilgisi hesaplanır ve lblOzet etiketine yazdırılır.

Formdaki Metin Kutularını Temizleme (Temizle)

  • Formdaki tüm kontroller (Controls) döngü ile taranır.
  • Eğer kontrol bir TextBox ise, içeriği temizlenir (Clear() metodu ile).

Tüketim Özeti Hesaplama (OzetYazdir)

  • Toplam Tüketim: cihazListesi‘ndeki tüm cihazların TuketimMiktari özellikleri toplanır.
  • KDV ve Toplam Tutar: Toplam tüketim üzerinden %10 KDV hesaplanır ve toplam ödenecek tutar bulunur.
  • Özet Metni: Hesaplanan değerler, bir metin olarak formatlanır ve döndürülür.

Sonuç

Bu uygulama, C# ve Windows Forms kullanılarak geliştirilmiş basit bir enerji tüketim hesaplama aracıdır. Kullanıcılar, cihazların enerji tüketimini hesaplayabilir, cihaz ekleyip silebilir ve toplam tüketim özetini görebilir. Kod, BindingList kullanımı, veri bağlama, hata yönetimi ve LINQ gibi modern C# özelliklerini içerir. Bu tür uygulamalar, enerji tasarrufu yapmak isteyen kullanıcılar için faydalı bir araç olabilir.

Yorum yap