8 Haziran 2013 Cumartesi
Kaydol:
Kayıt Yorumları
(
Atom
)
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace OOP_inheritance { public partial class Form1 : Form { public Form1() { //Form üzerine sürükle bırak ile eklenen komponentlerin ilk değerlerini güncelleme InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { //program penceresi açılırken radio butonlarından biri seçili olsun rdbEgitmen.Checked = true; } private void btnImzala_Click(object sender, EventArgs e) { //Calisanlar sınıfından bir nesne oluşturalım Calisanlar calisan; //Radio butonlarından hangisi seçili ise o değere göre calisan nesnesinin bir //örneğini oluşturalım if (rdbEgitmen.Checked) { calisan = new Egitmenler(); } else { calisan = new Muhasebeciler(); } //calisan nesnesini özelliklerini formda girilen değelere göre güncelleyelim calisan.Ad = txtAd.Text; calisan.Soyad = txySoyad.Text; calisan.Maas = nudMaas.Value; //calisan nesnesini formdaki listbox listesine ekleyelim. lstCalisanlar.Items.Add(calisan); //ekleme işleminden sonra tüm textbox ları temizleyelim TextleriTemizle(); } private void TextleriTemizle() { foreach (Control item in groupBox1.Controls) { if (item is TextBox) { (item as TextBox).Clear(); } } } private void lstCalisanlar_DoubleClick(object sender, EventArgs e) { //formdaki listbox üzerindeki herhangi bir satır çif tıklandığında bu metot //çalışacak ve seçilen sıradaki calisan ile ilgili bilgileri messagebox ile gösterelim //Eğer listboxdan seçil eleman indeksi -1 olarak dönerse hiç bir işlem //yapmadan metodu sonlandır. if (lstCalisanlar.SelectedIndex < 0) { return; } string seciliElemanTipi; Calisanlar calisan = lstCalisanlar.SelectedItem as Calisanlar; if (calisan == null) { MessageBox.Show("Herhangi bir çalışan seçmemişsiniz..."); } else { seciliElemanTipi = calisan.GetType().Name; decimal maas = calisan.Maas; decimal maasArtis = calisan.Artis; string mesaj = string.Format("{0} tipinden bir eleman seçmişsiniz." + " Maaşı {1} TL ve yıllık artış oranı {2} dir ", seciliElemanTipi, maas, maasArtis); MessageBox.Show(mesaj); } } private void contextMenuStrip1_Opening(object sender, CancelEventArgs e) { Calisanlar calisan = lstCalisanlar.SelectedItem as Calisanlar; if (calisan == null) { e.Cancel = true; } if (calisan is Egitmenler) { contextMenuStrip1.Items[1].Enabled = false; } else { contextMenuStrip1.Items[1].Enabled = true; } if (calisan is Muhasebeciler) { contextMenuStrip1.Items[0].Enabled = false; } else { contextMenuStrip1.Items[0].Enabled = true; } } private void neAnlatacaksınToolStripMenuItem_Click(object sender, EventArgs e) { Egitmenler calisan = lstCalisanlar.SelectedItem as Egitmenler; MessageBox.Show(calisan.BugunHangiKonuyuAnlatcaksin()); } private void paraSayımHızıToolStripMenuItem_Click(object sender, EventArgs e) { Muhasebeciler calisan = lstCalisanlar.SelectedItem as Muhasebeciler; MessageBox.Show(calisan.SaniyedeKacKagitSayabilirsin.ToString()); } private void lstCalisanlar_MouseClick(object sender, MouseEventArgs e) { //Listbox üzeirnde seçili olan elemanın üzerine sağ tıklandığında context menü //açalım ve yaptığın işin özelliklerini messagebox ile gösterelim. if (e.Button == MouseButtons.Right) { contextMenuStrip1.Show(); } } } } //////////////////////////////////////////////////////////////////////////// //Calisanlar sınıfı //////////////////////////////////////////////////////////////////////////// class Calisanlar { public string Ad { get; set; } public string Soyad { get; set; } public decimal Maas { get; set; } protected decimal artis; public decimal Artis { get { return artis; } //set { artis = value; } } public override string ToString() { return this.Ad + " " + this.Soyad; } } //////////////////////////////////////////////////////////////////////////// //Egitmenler sınıfı //////////////////////////////////////////////////////////////////////////// class Egitmenler : Calisanlar { public Egitmenler() { this.artis = 0.1M; } //Egitmeler sınıfına public olarak bir metot ekleyelim public string BugunHangiKonuyuAnlatcaksin() { return "OOP anlatmayi planliyorum!!!"; } } //////////////////////////////////////////////////////////////////////////// //Muhasebeciler sınıfı //////////////////////////////////////////////////////////////////////////// class Muhasebeciler : Calisanlar { public Muhasebeciler() { this.artis = 0.05M; saniyedeKaçKagit = new Random().Next(2, 10); } // Mehasebeciler sınfına bir alan (field) ekleyelim int saniyedeKaçKagit; //Muhasebeciler sınıfına public bir özellik ekleyelim. public int SaniyedeKacKagitSayabilirsin { get { return saniyedeKaçKagit; } } }
Hiç yorum yok :
Yorum Gönder