C# Kontroller ve Olaylar
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″;
}
private void btnAzalt_Click(object sender, EventArgs e)
{
lblSonuc.Text = (–sayi).ToString();
//int sayi = int.Parse(lblSonuc.Text);
//sayi–;
//lblSonuc.Text = sayi.ToString();
}
private void btnArttir_Click(object sender, EventArgs e)
{
lblSonuc.Text = (++sayi).ToString();
//int sayi = int.Parse(lblSonuc.Text);
//sayi++;
//lblSonuc.Text = sayi.ToString();
}
}
}
Bir Başka Uygulama Olan Yarış Oyunu
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;
}
private void btnEngelAlt_MouseEnter(object sender, EventArgs e)
{
MessageBox.Show(“Kaybettiniz.”);
startMi = false;
}
private void btnStart_MouseEnter(object sender, EventArgs e)
{
startMi = true;
}
private void btnFinish_MouseEnter(object sender, EventArgs e)
{
if (startMi)
{
MessageBox.Show(“Kazandınız.”);
startMi = false;
}
else
{
MessageBox.Show(“Çakallık etme.”);
}
}
private void btnStart_MouseLeave(object sender, EventArgs e)
{
// |, &, ||, &&
// 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;
}
private void Form2_Load(object sender, EventArgs e)
{
}
}

![c-sharp[1]](http://www.cihanhacihan.com/wp-content/uploads/2011/10/c-sharp1-300x300.png)


