在C#语言中如何通过事件获得事件源的控件名称:
      由于我的web控件 button是在程序中生成的,如下:
for(j = 0; j < 20; j++)
{
ImageButton imgbtn = new ImageButton();
imgbtn.ID = "imgbtn" + j;
imgbtn.CommandArgument = "j"; imgbtn.Click += new System.Web.UI.ImageClickEventHandler(this.Imgbtn_Click);
}
因此所有生成的button都会调用如下的函数:
private void Imgbtn_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{}
如何在这个函数中,通过事件e 来获得事件源的控件名称,就是imgbtn0 ,imgbtn1...等等。
这样才能知道到底是按下了哪个按钮。

解决方案 »

  1.   

    我知道在java中,可以有事件e 的getActionCommand()方法在缺省情况下将返回标签字符串,这样就可以区别控件了,还有事件e的getSource()方法,可以获得控件源,例如:
    Button b=(Button)e.getSource();    但是在C#中怎么用啊?
      

  2.   

    你有没有想过sender是干什么的?!
      

  3.   

    sender是干什么的?
    说清楚啊
      

  4.   

    ImageButton b = (ImageButton)sender;
      

  5.   

    private void Imgbtn_Click(object sender, System.Web.UI.ImageClickEventArgs e)
    {
      ImageButton ib = (ImageButton)sender;
    }
      

  6.   

    Sender是事件的触发者,e是事件参数。