为c#中的多个对象调用相同的函数
本文关键字:调用 函数 对象 | 更新日期: 2023-09-27 18:14:14
如何在c#中使用接受对象作为参数的函数?
。,我在一个表单中有许多复选框,它们都运行相同的过程,但我不想在每个复选框事件中编写相同的函数调用:
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
if (checkBox1.Checked)
{
callMyFunction();
}
}
我想要的是创建一个事件处理程序,侦听注册到我的事件的所有复选框对象。每当触发checkBox_CheckedChanged事件时,我的函数就会运行。
如果该复选框是引发事件的复选框,则sender
应该是该复选框。您可以检查sender
的类型并使用它,而不是显式地命名复选框:
private void CheckBox_CheckedChanged(object sender, EventArgs e)
{
CheckBox cb = sender as CheckBox;
if(cb != null and cb.Checked)
{
callMyFunction(cb);
}
}
你可以把这个处理器添加到你所有的复选框中,例如
checkBox1.CheckedChanged += CheckBox_CheckedChanged;
checkBox2.CheckedChanged += CheckBox_CheckedChanged;
...