相信很多朋友遇到多个button执行一个带着不同参数的方法,或者多个checkbox执行同样类型的方法,代码繁琐又罗素,都是复制黏贴的活,没点技术含量,下面就是”充电五分钟,通话半小时”的写法。
不啰嗦,上干货!
private void cb_Check1_CheckedChanged(object sender, EventArgs e)
{
chkAntenna(sender); //让所有的checkbox都执行用这个方法
}
public void chkAntenna(object sender) //获取调用事件里 checkbox方法
{
if (((CheckBox)sender).Checked == true)
{
switch (((CheckBox)sender).Tag.ToString()) //给所有的checkbox的tag都编上号
{
case "antenna_Check1":
Panel1.Visible = true;
break;
case "antenna_Check2":
Panel2.Visible = true;
break;
case "antenna_Check3":
Panel3.Visible = true;
break;
case "antenna_Check4":
Panel4.Visible = true;
break;
case "antenna_Check5":
Panel5.Visible = true;
break;
default:
break;
}
}
else
{
switch (((CheckBox)sender).Tag.ToString())
{
case "antenna_Check1":
Panel1.Visible = false;
break;
case "antenna_Check2":
Panel2.Visible = false;
break;
case "antenna_Check3":
Panel3.Visible = false;
break;
case "antenna_Check4":
Panel4.Visible = false;
break;
case "antenna_Check5":
Panel5.Visible = false;
break;
default:
break;
}
}
}