C# Sınıf(Class) Oluşturma

Merhaba,

Bir otomobilin neyi olur?
Markası,model,üretim yılı,motor hacmi,rengi,vites tipi… gibi birçok özelliği olabilir.

Peki bir otomobil ne yapabilir?
Hızlanabilir,yavaşlayabilir,fren yapabilir,patinaj çekebilir 🙂 gibi gibi birçok fonksiyonu olabilir.
Buna göre bir otomobil sınıfı oluşturalım ve bu sınıfın içine otomobilin özelliklerini yazalım.

Visual Studio ile yeni bir Windows Form projesi oluşturduktan sonra aşağıdaki gibi projemize bir class (sınıf) ekliyoruz:

1

2

Sınıfımızı oluşturduktan sonra ekranda şu şekilde bir C# sınıfı oluşuyor:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace OOPGALERIUYG
{

class otomobil
{

}

}

Şu an da karşımızda boş bir sınıf var ve biz bu sınıftan yepyeni bir programlama tekniğine geçiyoruz,bunun adı
object orianted programming!
İlk yapmamız gereken bu sınıfı daha sonra form uygulamamızda kullanabilmek için “class” sözcüğünün soluna “public”
deyimini yazmak.

3

Bu yazdığımız kodlar bir otomobile ait olabilecek özellikleri temsil etmektedir ve dikkat ederseniz her property’nin tipi bildiğimiz ilkel değişken tiplerinden olan string,int,decimal gibi ifadelerle temsil edilmektedir.
Propertylerin her birine baktığımızda sonlarında get ve set sözcükleri yer almaktadır,bunların açılımı ise bu sınıftan
oluşturulacak bir instance (örnek kopya) ile değer atanıp okunmasıyla ilgili bir konudur.
Buraya kadar yazdığımız kodlar otomobilin özelliklerini barındırıyorken henüz fonksiyonlarını yazmadık,o halde yazalım:

6

Şimdiye kadar yazdığımız kodlar bir otomobilin yazılım dilinde modellenmiş halidir ama bunlar ne işimize yarayacak?
Nesne yönelimli programlama konusu;

string degisken=”değer”;

kod satırından çok daha fazlasını sunuyor ve bu şekilde tek tek düz bir programlama ile bir otomobile ait metot ve özellikleri yazıp değerlerini atamak oldukça zahmetli kod yazmanın yanı sıra oldukça vakit kaybı yaratmaktadır.

Peki bu sınıfı oluşturduysak nasıl kullanacağız?

7

Dinamik bir sınıfı kasten erişime engellemediğimiz sürece “new” (yeni) anahtar kelimesiyle yukarıdaki gibi çağırabiliriz.Bu basit ve tek satır olan kod bize otomobil sınıfına yazdığımız tüm özellik ve metotları çok kolay bir biçimde şu şekilde getiriyor:

4

Gördüğünüz gibi sınıfı oluştururken yazdığımız metotlar ve özellikler sadece 1-2 satırda ve yeniden yazmaya gerek kalmadan rahatlıkla kullanılabiliyor,o halde otomobil sınıfımız bir harita “new” sözcüğüyle aldığımız instance ise otomobilin kendisidir diyebiliriz.Şimdi otomobil sınıfına ait bilgileri dolduruyor ve üretime başlıyoruz:

5

Geri dönüş değerli olmayan bir metot ile markayı çağıralım ve bunu messagebox. show ile ekrana yazdıralım.

8

public string Markagetir()
{
return Marka;
}

9

Böylece bir sınıfa ait değer döndüren metodun nasıl kullanıldığınıda öğrenmiş olduk 🙂

C# Combobox dan seçilen tarihi messagebox da göster(WFA)

Merhabalar,
Comboboxdan seçilen tarihi messagebox da gösteren ve int değer girilen ”Ay” ı ise string olarak gösteren program.


.Exe indir.
http://s4.dosya.tc/server/eXVQOK/WFAtarih.rar.html

C# Kısayol ProgramI (WFA)

Merhaba,

WFA uygulamasında dışardan Buton adı ve link girilerek ufak bir kısayol programı.

C# Ufak bir sorgulama sistemi (WFA)

Merhaba,
Haftanı günlerini dizi içerisinde tanımladığımız ve  textbox içerisinde search yaptığımız ufak bir sorgulama örneği.

Programı indirebilirsiniz;

http://s3.dosya.tc/server32/OPpSpw/WFAarray.zip.html

Windows Forms Kullanıcı bilgileri alma

Merhaba,

C#Windows Forms ile kullanıcı bilgileri kaydetmeye yönelik bir program.

private void temizle(Control.ControlCollection koleksiyon)
{
foreach (Control c in koleksiyon)
{
if (c is TextBox)
{
TextBox txt = (TextBox)c;
txt.Clear();
}
else if (c is NumericUpDown)
{
NumericUpDown nm = (NumericUpDown)c;
nm.Value = 0;
}
else if (c is DateTimePicker)
{
DateTimePicker dt=(DateTimePicker)c;
dt.Value = DateTime.Now;
}
else if (c is ComboBox)
{
ComboBox com = (ComboBox)c;
com.Text = string.Empty;
}
}
}
private void btnkaydet_Click(object sender, EventArgs e)
{
listBox1.Items.Add(textBox1.Text + ” ” + textBox2.Text + ” ” + numericUpDown1.Value.ToString() + ” ” + comboBox1.SelectedItem.ToString() + ” ” + dateTimePicker1.Value.ToShortDateString());
//listview için kolay yöntem
string[] veri = { textBox1.Text, textBox2.Text, numericUpDown1.Value.ToString(), comboBox1.SelectedItem.ToString(), dateTimePicker1.Value.ToShortDateString() };
ListViewItem kullanici = new ListViewItem(veri);
listView1.Items.Add(kullanici);

temizle(this.Controls);
}

private void btnsil_Click(object sender, EventArgs e)
{
DialogResult dialogResult = MessageBox.Show(“Bilgileri silmek istediğinizden emin misiniz?”, “UYARI”, MessageBoxButtons.YesNo,MessageBoxIcon.Warning);
if (dialogResult == DialogResult.Yes)
{
listBox1.Items.Clear();
foreach (ListViewItem c in listView1.SelectedItems)
{
listView1.Items.RemoveAt(c.Index);
}
temizle(this.Controls);
}
else
{
//do something else
}
}

private void btnresim_Click(object sender, EventArgs e)
{
openFileDialog1.Title = “Resim ekle”;
//openFileDialog1.Filter = “(*.jpg*)|*.jpg*”;
openFileDialog1.Filter = “(*.*) |*.*”;
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
pictureBox1.Image = new Bitmap(openFileDialog1.OpenFile());
pictureBox1.SizeMode = PictureBoxSizeMode.StretchImage;
}
}
private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
{
System.Diagnostics.Process.Start(“https://mehmetevirgen.wordpress.com/”);
}

4 işlem Windows forms app(Metot kullanarak)

static double topla(double sayi1, double sayi2)
{
return sayi1 + sayi2;
}
static double cikar(double sayi1, double sayi2)
{
return sayi1 – sayi2;
}
static double carp(double sayi1, double sayi2)
{
return sayi1 * sayi2;
}
static double bol(double sayi1, double sayi2)
{
return sayi1 / sayi2;
}

private void Form1_Load(object sender, EventArgs e)
{

}

private void barti_Click(object sender, EventArgs e)
{
int sayi1 = int.Parse(t1.Text);
int sayi2 = int.Parse(t2.Text);
tsonuc.Text = topla(sayi1, sayi2).ToString();
}

private void beksi_Click(object sender, EventArgs e)
{
int sayi1 = int.Parse(t1.Text);
int sayi2 = int.Parse(t2.Text);
tsonuc.Text = cikar(sayi1, sayi2).ToString();
}

private void bcarp_Click(object sender, EventArgs e)
{
int sayi1 = int.Parse(t1.Text);
int sayi2 = int.Parse(t2.Text);
tsonuc.Text = carp(sayi1, sayi2).ToString();
}

private void bbol_Click(object sender, EventArgs e)
{
int sayi1 = int.Parse(t1.Text);
int sayi2 = int.Parse(t2.Text);
tsonuc.Text = bol(sayi1, sayi2).ToString();
}

4islemAdsız

4 işlem (Metot yöntemiyle)

static void menu()
{
Console.WriteLine(“+=>Toplama İşlemi”);
Console.WriteLine(“-=>Çıkarma İşlemi”);
Console.WriteLine(“* =>Çarpma İşlemi”);
Console.WriteLine(“/ => Bölme İşlemi”);
}
static int sayioku(string soru)
{
Console.WriteLine(soru);
return int.Parse(Console.ReadLine());
}
static int topla(int sayi1, int sayi2)
{
int toplam = sayi1 + sayi2;
return toplam;
}
static int cikar(int sayi1, int sayi2)
{
return sayi1 – sayi2;
}
static int carp(int sayi1, int sayi2)
{
return sayi1 * sayi2;
}
static double bol(double sayi1, double sayi2)
{
return sayi1 / sayi2;
}
static double islemyap(char islem, int sayi1, int sayi2)
{
double sonuc = 0;
switch (islem.ToString())
{
case “+”:
sonuc = topla(sayi1, sayi2);
break;
case “-“:
sonuc = cikar(sayi1, sayi2);
break;
case “*”:
sonuc = carp(sayi1, sayi2);
break;
case “/”:
sonuc = bol(sayi1, sayi2);
break;

default:
Console.WriteLine(“Tanımsız işlem”);
break;
}
return sonuc;
}
static void Main(string[] args)
{
menu();
Console.WriteLine(“Lütfen bir seçim yapınız”);
char secim = Convert.ToChar(Console.ReadLine());
int sayi1 = sayioku(“Lütfen ilk sayıyı giriniz”);
int sayi2 = sayioku(“Lütfen ikinci sayıyı giriniz”);
double sonuc = islemyap(secim, sayi1, sayi2);
Console.WriteLine(“Sonucunuz = {0}”, sonuc);
Console.ReadLine();
}
}