c# 多個相同控制元件使用同一個方法詳解
相信很多朋友遇到多個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;
}
}
}