C# 为 form 窗体中的所有相同组件循环添加相同事件,这样减少了代码量。
private void Form2_Load(object sender, EventArgs e)
{
foreach (Control c in groupBox1.Controls)//遍历groupBox1内的所有控件
{
if (c is CheckBox)//只遍历CheckBox控件
{
((CheckBox)c).CheckStateChanged += new EventHandler(chk_CheckedChanged);
}
} } private void chk_CheckedChanged(object sender, EventArgs e)
{
if (((CheckBox)sender).CheckState.ToString() == "Checked")
{
listBox1.Items.Add(((CheckBox)sender).Text);
}
else
{
listBox1.Items.Remove(((CheckBox)sender).Text);
}
}