C# Tıklanan Button'un Rengini Değiştirmek Renk İşlemleri

C Sharp ta Renk işlemleri nasıl yapılır tıklama işlemini almak programlama kısaca anlatımı.

C#_Kapak_Resim

    Diyelim ki elimizde birden fazla button var ve biz bunları ortak bir fonksiyona bağladık ve aynı işlevleri yapıyorlar ama hangi button'a tıklandığımızı bilmiyoruz. Bunu öğrenmek için gereken kod;

              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 Yaz

Rengi değişmeden önce o rengi bir renk değişkenine aktarırsın.
renk = 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

Cevap Yaz

Yorum Gönder