2016-04-10 14 views
1

Uygulamamda 70 düğmeyle çalışıyorum, bu yüzden farklı button1_Click, button2_Click ... button70_Click olayları yapmak yerine bunu yapacağımı düşünüyordum. Sorun şu ki, tıklanan mevcut düğmenin nasıl kontrol edildiğini bilmiyorum, çünkü bir düğmeyi tıkladığımda renginin değişmesini istiyorum.Hangi düğmenin tıklandığını nasıl kontrol ederim? Visual Studio C#

+2

Sen Düğme –

+2

Olası yinelenen için olay işleyici 'sender' argüman döküm yoluyla alabilmesi (http://stackoverflow.com/questions/35528548 [Form üzerinde her PictureBox üzerinde sağ tıklayın Algılama]/üzerinde sağ tıklayın-on-her-picturebox-on-the-form) –

+0

@KooKiz ama olayda tıklatılan düğmenin BackColor yeşil değiştirmek istiyorum. rengini değiştirmek için adını nasıl bilebilirim? –

cevap

5

Cast olayı gündeme düğme Button

Button ClickedButton = (Button)sender; 

için olay işleyici sender parametresi.

Her düğmenin tıklama olayına atadığınız işleyicide kullanabilirsiniz.

public form1() 
{ 
     //You probably do this in a loop over all your buttons 
     button1.Click += MyButtonClickHandler; 
} 

private void MyButtonClickHandler(object sender, EventArgs e) 
{ 
    Button ClickedButton = (Button)sender; 
    ClickedButton.ForeColor = Color.Red; 
} 
+0

Bu satırı nereye yerleştirebilirim? Düğme tıklatma olayından hemen önce mi? –

+0

Örneğimdeki düzenleme için bkz. – Jens

+0

Oh, anladım! Beni bu kadar uzun süre aldığım için üzgünüm. –

İlgili konular