gpt4 book ai didi

c# - 在 C# 中为多个对象调用相同的函数

转载 作者:行者123 更新时间:2023-11-30 19:42:52 24 4
gpt4 key购买 nike

如何在 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;
...

关于c# - 在 C# 中为多个对象调用相同的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16633548/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com