我想重新定义一个事件,我的意思是,我有这个:
boton.Click += infoApp;
//i think thats similar to: boton.Click = new System.EventHandler(infoApp).
当点击按钮'boton'时,函数/方法'infoApp'触发, 这个方法是这样的:
private void infoApp(object sender, EventArgs e)
{
/* my code*/
}
直到这里,evetithing顺利;但我需要向该方法发送另一个参数:
boton.Click += infoApp(string par)
所以我认为这可行:
private void infoApp(object sender, EventArgs e, string par)
{
/*My code*/
}
但事实并非如此。
我已经像代表这样的东西,但我不明白;我不知道该怎么做才能解决我的问题;任何想法?
提前致谢
pd:抱歉我的英语很糟糕,我不是说英语的人。尝试简单解释。我正在使用VS2008。
答案 0 :(得分:9)
解决这个问题的一种方法是将事件处理程序包装在一个闭包中:
相反这一行:
boton.Click += infoApp;
这样做:
string par = "something";
boton.Click += (sender, e) => {
//Now call your specific method here:
infoApp(sender, e, par);
};