问题:在复合控件,要求动态添加一些Button
最终要求:当程序员加了五个Button,分别定义为:button1....button5
当无论点击那个Button抛出点击事件(ButtonClick),
在其ButtonClick事件中,要指定当前点击的是第几个button请求支愿,分不够,另开贴加分

解决方案 »

  1.   

    ButtonClick的object类型的名叫sender的参数
      

  2.   

    用以下方法只可取得最后一个被动态进去的button的Click事件
    ---------------------------------    
    Private WithEvents AddButton As Button    
        Public Event ButtonClickAs EventHandler
    Private Sub AddButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles AddButton.Click
            RaiseEvent ButtonClick(sender, e)
        End Sub
      

  3.   

    huangsuipeng(hsp-ec.net|白天准备考研,晚上CSDN) 
    -----------------------------
    能详细一些吗?
      

  4.   

    private btnClick(object sender,EventArgs e)
    {
       Button btn=(Button)sender;
       Response.Write(btn.ID.ToString());
    }
      

  5.   

    Button button = (Button)sender;
    这个就是点击的按钮,你可以根据按钮的文本或其它信息判断是哪个按钮
      

  6.   

    问题不是:Web 窗体用户控件
    是自定义控件
      

  7.   

    按上面几位大哥的,还是不行,还是只有当最后一个Button被点击时,才会触发btnClick事件
      

  8.   

    PageLoad(..)
    {
       for(int i=0;i<5;i++)
       {
          Button tmp = new Button();
          tmp.ID = "Button" + i.ToString();
          tmp.Click += new System.EventHandler(this.Button_Click); 
          Page.Controls[1].Countrols.Add(tmp);
       }
    }
    public void Button_Click(object sender,System.EventArgs e)
    {
       Button tmp = sender as Button;
       string tmpID = tmp.ID;   
    }
      

  9.   

    不是winFrom
    是WebCustomControl
      

  10.   

    先申明
    public event EventHandler Click1;
    public event EventHandler Click2;
    public event EventHandler Click3;然后你要重载OnBubbleEvent
    protected override bool OnBubbleEvent(object source, EventArgs e) 
    {   
    bool handled = false;
    if (e is CommandEventArgs)
    {
    CommandEventArgs ce = (CommandEventArgs)e;
    if (ce.CommandName == "Click1")
    {
    OnClick1(ce);
    handled = true;   
    }  
    else if (ce.CommandName == ".....")
    {
    .........
    }
    .........            
    }
    return handled;            
    }
      

  11.   

    还有
    protected virtual void OnClick1 (EventArgs e)
    {
    if (Click1 != null)
    {
    Click1(this,e);
    }
    }
      

  12.   

    zxilu(江湖) 
    那些Button都是动态加的,也就是说所加的数量是不定的,可能是一个,也可能是十个,二十个
    那样的话,我得定义多少事件委托啊?