2010-01-20 15 views

cevap

29

aşağıdaki

Button b1 = CreateMyButton(); 
b1.Click += new EventHandler(this.MyButtonHandler); 
... 
void MyButtonHandler(object sender, EventArgs e) { 
    ... 
} 
+1

kullanın, ama gerçekten ihtiyaçlarımı karşılamıyor. Web'i bana verdiğin şeye göre aramayı denedim, ama hiçbir şey bulamadım ya da anlamadım. Şey, bir dizi düğmem var. Ve hangi düğmenin tıklandığını bilmek istiyorum. – jello

+0

@jello, hangi düğmeye tıklandığınızı bulmak için çözümünüzü buldunuz mu? Şu anda benzer bir sorunum var. – mdw7326

2

bu işleri gibi görünüyor bu örneği deneyin daha iyi yol?

3

Hangi düğmenin tıklandığını görmek isterseniz, düğmeler oluşturup atandığınızda aşağıdakileri yapabilirsiniz. el düğme kimliklerini oluşturmak olduğunu düşünürsek:

protected void btn_click(object sender, EventArgs e) { 
    Button btn = (Button)sender // if you're sure that the sender is button, 
           // otherwise check if it is null 
    if(btn.ID == "blablabla") 
     // then do whatever you want 
} 

Ayrıca her düğme için bir komut argüman vererek onları kontrol edebilirsiniz. Birkaç düğme işlemek için

19

bu kodu kullanın tıklayın olaylar: Yorumunuza ilgili olarak

private int counter=0; 

    private void CreateButton_Click(object sender, EventArgs e) 
    { 
     //Create new button. 
     Button button = new Button(); 

     //Set name for a button to recognize it later. 
     button.Name = "Butt"+counter; 

     // you can added other attribute here. 
     button.Text = "New"; 
     button.Location = new Point(70,70); 
     button.Size = new Size(100, 100); 

     // Increase counter for adding new button later. 
     counter++; 

     // add click event to the button. 
     button.Click += new EventHandler(NewButton_Click); 
    } 

    // In event method. 
    private void NewButton_Click(object sender, EventArgs e) 
    { 
     Button btn = (Button) sender; 

     for (int i = 0; i < counter; i++) 
     { 
      if (btn.Name == ("Butt" + i)) 
      { 
       // When find specific button do what do you want. 
       //Then exit from loop by break. 
       break; 
      } 
     } 
    } 
0

Eğer bir düğmeye .Tag niteliğini ayarlayabilirsiniz, tıklandığı düğmesi bilmek istiyorum diyerek İstediğiniz tanımlayıcı dize ne olursa olsun, istediğiniz gibi kullanın ve

private void MyButtonHandler(object sender, EventArgs e) 
    { 
     string buttonClicked = (sender as Button).Tag; 
    } 
+0

En azından düşünebildiğim en basit yol bu. – TehSpowage

İlgili konular