日期:2014-05-18 浏览次数:20928 次
void work_1() { button1_Click("work_1", null); } void work_2() { button1_Click("work_2", null); } void work_3() { button1_Click("work_3", null); } private void button1_Click(object sender, EventArgs e) { string str; if ((str = sender as string) != null) { switch ((string)sender) { case "work_1": break; case "work_2": break; case "work_3": break; default: break; } } }
------解决方案--------------------
没法区分,不过是null还是button1,都被区分不了,你可以这样
void work_1()
{
button1_Click(1,null);
}
void work_2()
{
button1_Click(2,null);
}
void work_3()
{
button1_Click(3,null);
}
因为参数sender是object类型,可以传入int值来区分
------解决方案--------------------
你可以通过不同方法里面给sender传入不同的参数然后再处理函数里面进行区分
------解决方案--------------------
自己传参,自己区分,
你传3个null值是没法区分的
------解决方案--------------------
sender是object类型,可以是任何类型
------解决方案--------------------
private void button1_Click(object sender, EventArgs e) { string str; if ((str = sender as string) != null) { switch ((string)sender) { case "work_1": break; case "work_2": break; case "work_3": break; default: break; } } else { Button btn; if ((btn = sender as Button) != null) { // 判断 btn 来处理 } } }