Archives

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)
{

}
}