C# 为所有 CheckBox 添加事件

时间:2021-07-16 20:43:37

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);
}
}