button控件接受click事件的参数是由系统给出的,恐怕不能加入你自己的参数,你可以这样尝试一下
private void vvvv(object sender, System.EventArgs e,TextBox t1)
{
TextBox1.Text="ffff";
}
调用方法
this.vvvv(sender,e,myTextBox)

解决方案 »

  1.   

    谢谢jackyhx:
    这个我试了,还是不好用,在编译的时候就提示this.vvvv(sender,e,myTextBox)出现错误
      

  2.   

    把这个按钮的Click处理程序加上个参数--不行,只能有两个,object sender, System.EventArgs e但你可以把你要加的参数放到object sender里面去
    大不了用array,反正也是object
      

  3.   

    它这个sender是不需要传值的,就是只触发该事件的对象,就像我的那个程序一样,sender返回的就是那个Button。
      

  4.   

    如果要加参数,可以这么写。//我程序代码的片断。public class DatagridEventArgs : EventArgs{
    private int mPage; public DatagridEventArgs(int page){
    mPage = page;
    } public int Page{
    get{return mPage;}
    set{mPage=value;}
    }
    }//然后生命一个delegate:
    public delegate void DatagridEventHandler(object sender,DatagridEventArgs e);//然后定义你的event:
    public event DatagridEventHandler DataBinded;//最后定义你的方法:
    protected void OnDataBinded(DatagridEventArgs e){
    DataBinded(this,e);
    }//在程序代码中这样调用:
    DatagridEventArgs e = new DatagridEventArgs(mCurrentPage);
    DataBinded(this,e);不过,你截获的是Click事件,那么他的EventHandler就固定死了,你可以在这个事件中,按照我的方式,触发你自己的事件。参数的传递,可以参考yxrj的做法。
      

  5.   

    何必这么麻烦。你把要传递的那个参数设成全模块级变量不就行了?!TextBox t1;private void Page_Load(object sender, System.EventArgs e)
    {
    Button aa=new Button();
    aa.Text="test";
    aa.Click+= new EventHandler(this.vvvv);
    Page.Controls[1].Controls.Add(aa);
    }
    private void vvvv(object sender, System.EventArgs e)
    {
    t1.Text="ffff";
    }