Merhaba arkadaşlar C#’ta Kontroller ve Olaylar kavramını bu dersimizde detaylı olarak görebiliecek yapacağımız uygulamalı çalışma ile konuyu daha çabuk kavrayabileceksiniz.
İlk Olarak Numaratör yaparak başlayalım.
İşte Kodlar ;
namespace _3_KontrollerVeOlaylar { public partial class Form1 : Form { public Form1() { InitializeComponent(); } int sayi; private void Form1_Load(object sender, EventArgs e) { // lblSonuc.Text = “0″; }
namespace _3_KontrollerVeOlaylar
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
// Değişkenin default değeri constructor (sadece class seviyesindeki değişkenlerin) tarafından atanır.
bool startMi;
int cikisX;
int cikisY;
private void btnEngelUst_MouseEnter(object sender, EventArgs e)
{
MessageBox.Show(“Kaybettiniz.”);
startMi = false;
}
// Kısadevre operatörleri kullanılmadan yapılan yazım. //if (cikisX > 0) //{ // if (cikisY > 30) // { // if (cikisY < 80) // { // } // else // { // startMi = false; // } // } // else // { // startMi = false; // } //} //else //{ // startMi = false; //} // Kısa devre operatörleri kullanılarak yapılacak işlemler çok daha kolaydır. Kısa devre operatörlerinden ve (&, &&) sadece yazılan bütün koşullar doğru olması durumunda doğru döndürür ve if bloğunun çalışması sağlar. veya (|, ||) içinse tek bir koşulun doğru olması yeterlidir., if (!(cikisX > 0 && 30 < cikisY && cikisY < 80)) { startMi = false; } }
private void btnStart_MouseMove(object sender, MouseEventArgs e) { // Mouse’un nereden çıktığını kestirebilmek için kordinatlarından yararlandık. Buradaki kordinat sistemi Button’un sol üst köşesi x=0, y=0 noktası baz alınarak belirlenir. Burada MouseMove’dan yararlanmamızın nedeni MouseMove harici kullanacağımız diğer Mouse Eventlerinden hiç birinde kordinat bilgisi taşınmamaktadır. cikisX = e.X; cikisY = e.Y; }
Bu dersimizde C#’ın önemli konularından biri olan tür dönüşümleri hakkında önemli bilgiler vereceğiz.
İşte Detaylı Açıklamalar ve Uygulama Videoları;
namespace _2_TurDonusumleri { public partial class Form1 : Form { public Form1() { InitializeComponent(); }
private void Form1_Load(object sender, EventArgs e) { // Convert // Parse // ToString() // Cast string metin = “150″; // Convert işlemi bir zorlamadır. Dönüştürülmek istenen verinin tipine bakmadan dönüştürme işlemini gerçekleştirmeye çalışır. int sayi = Convert.ToInt32(metin); // Parse işlemi ise bir ricadır. Dönüştürülmek istenen verinin tipi string olmalıdır. Parse dönüştürebiliyorsa dönüştürür yoksa hata verir. Convert’e göre daha performanslı bir işlemdir. int sayi2 = int.Parse(metin); } } }
Tür Dönüşümleri Faiz Hesaplama Programı
namespace _2_TurDonusumleri { public partial class Form2 : Form { public Form2() { InitializeComponent(); }
private void btnHesapla_Click(object sender, EventArgs e) { decimal anaPara = decimal.Parse(txtAnaPara.Text); decimal faiz = numFaiz.Value; decimal sonuc = anaPara * faiz / 12 / 100; MessageBox.Show((anaPara + sonuc).ToString()); // Her kontrolün Text özelliği vardır. NumericUpDown için de bu geçerlidir. Yanlız NumericUpDown rakamsal ifadelerin girilmesi için kullanıldığından Text özelliği saklanmıştır. Buna rağmen yazım kurallarına uygun şekilde yazıldığında NumericUpDowndaki değeri string (metinsel) olarak bize vericektir. string metin = numFaiz.Text; }
Bugünkü vereceğimiz önemli bir bilgi olan C#’ta değişkenler kavramının önemini vurgulayacağız.Bu sayede 2 değişkenin nasıl yer değiştirdiğini ve ders notları hakkında önemli bilgiler ve alt başlıkları aşağıdaki kod ekranından takip edebilir ve uygulama videosunu izleyebilirsiniz.
İşte Önemli bilgiler ve Kod Bilgileri
namespace _1_Degiskenler { public partial class Form3 : Form { public Form3() { InitializeComponent(); }
private void Form3_Load(object sender, EventArgs e) { // Değişkenler (Variables): Geçici veri tutmak için kullanılan yapılardır. RAM’de (Random Access Memory) saklanır. Belli bir ömür aralığı vardır. // Değiken Tanımlama Kuralları: /* * 1) Bir değişken tanımlaması yaptığımız zaman değişkenin ismi rakam ile başlayamaz. Ama buna rağmen içerisinde rakam barındırabilir. * 2) Özel karakterlerden sadece alt çizgi (_) kullanılabilir. * 3) Özel tanımlı anahtar sözcükler (keywords) değişken ismi olarak kullanılamaz. * 4) Değişken tanımlaması yaparken noktalı virgül (;) ile bitirilir. * 5) Değişken tanımlanırken değer atanmak zorunda değildir. Değişkenin değeri daha sonradan atanır. * 6) Değişkenin değerinin atanması için eşittir (=) operatöründen yararlanıyoruz. Değer ataması sağdan sola olacak şekilde yapılır. */
// Veri Tipleri: // 1) Sayısal Tipler: // a) Tam Sayılar:
/* * Tip Adı: float * .Net Adı: Single * Kapladığı Alan: 4 Byte (32 bit) * Son Eki (Suffix): f veya F */
float float1 = 32656256565.565652f;
// Hatal: Son eki yok //float float2 = 565656.656;
/* * Tip Adı: double * .Net Adı: Double * Kapladığı Alan: 8 Byte (64 bit) * Son Eki: d veya D (Eklenmek zorunda değildir) */
double double1 = 6565656565656.6965656;
double double2 = 56565656555656.546554d;
double double3 = 15000;
/* * Tip Adı: decimal * .Net Adı: Decimal * Kapladığı Alan: 16 Byte (128 bit) * Son Eki: m veya M */
decimal decimal1 = -35656565656.6565656565656m;
// s(byte) s=> signed (İşaretli. Eksi değerler alabilir) // u(int) u=> unsigned (İşaretsiz. Sadece pozitif değer alabilir.)
// 2) Metinsel Tiplere:
/* * Tip Adı: char * .Net Adı: Char * Kapladığı Alan: 2 Byte (16 bit) * Değeri: Üzerinde tek bir karakter taşıyabilir. */
char char1 = ‘a’;
/* * Tip Adı: string * .Net Adı: String * Kapladığı Alan: n Byte */
string string1 = “Bu bir metinsel ifadedir.”;
string string2 = “15″;
// 3) Mantıksal Tip:
/* * Tip Adı: bool * .Net Adı: Boolean * Kapladığı Alan: 1 Byte (8 bit) * Değeri: true veya false (evet-hayır | doğru-yanlış | açık-kapalı | devam et-dur) * Bool değeri her ne kadar true veya false olsa da 1 veya 0 olarak bilgiyi saklar. */
Merhaba Arkadaşlar artık c# hakkında bilmediklerinizi burada öğrenebileceksiniz.Konuları detayları ile birlikte tekrar edip ve uygulamaları sık sık yaparsanız bu eğitim sizin için çok önemli bir boyuta gelecektir.
Başalgıç için herzamanki gibi Visual Studio Programında “Hello World ” yazısı ile başlıyoruz.
Bunun için yapmanız gereken bir adet mesaj box ve uygulama için yazacağınız kodlar;
İşte Kod Bilgileri;
namespace HelloWorld { public partial class Form1 : Form { public Form1() { InitializeComponent(); }