Button btn = (sender as Button);
Eğer bu kodu click eventine yazarsak bu eventi hangi button kullandığını öğreniyoruz. Bu sayede birden çok aynı işlevli buttondan hangisine tıkladığımızı öğrenebiliriz.
Şimdide istersek renk değişmi veya farklı işlemleri bu button üzerinde uygulayabiliriz.
btn.BackColor = Color.Red;
Şimdide bir örnek programla bu konuyu pekiştirelim;
Bir yarışma oyunu olduğunu düşünelim 4 şık var ve 4 buttonuda aynı click eventine bağladık.
private void button1_Click(object sender, EventArgs e)
{
Button btn = (sender as Button);//hangi buttuna tıklandığını öğreniyoruz.
btn.BackColor = Color.Yellow;//Tıklanan şıkkın rengini sarı yapıyoruz
Application.DoEvents();//Thread'den dolayı donmayı önlemek için
Thread.Sleep(400);//Sarı renk 400 milisaniye gözükcak
if (degerlendir())//Eğer Doğru şıksa
{
btn.BackColor = Color.Green;//Rengi yeşil oluyor
}
else
{
btn.BackColor = Color.Red;//Yanlışsa Kırmızı oluyor
}
}
public bool degerlendir()
{
//buraya nasıl değerlendirceği yazılcak eğer doğruysa true döndercek yanlışsa false
return true;
}
2 yorum
Şimdi butona basınca kırmızı oluyor. Fakat ben bastım kırmızı oldu bir daha basınca eski rengine gelmesini istiyorum. Nasıl olacak yardımcı olur musun?
Cevap YazRengi değişmeden önce o rengi bir renk değişkenine aktarırsın.
Cevap Yazrenk = btn.Color;
Her tıklamada bir bool değişenini true ve false olarak sürekli değiştirirsin.
True ise yeni renk yüklenir.
False ise eski rengi yüklersin. Tamamen bir if-else kullanarak
Yorum Gönder