在 C# 中创建控件数组时,如何将接收单击按钮索引的函数绑定到其单击事件?
这里有一些代码只是为了更好地理解。在代码顶部的某处定义按钮:
Button [] buttons = new Button[100];
它们的标准 Click 事件如下所示:
private void myClick(object sender, EventArgs e)
{
}
通常你用这种方式绑定它:
for (int i = 0; i < 100; i++)
buttons[i].Click += myClick;
但我希望事件处理程序采用这种形式:
private void myClick(int Index)
{
}
我应该如何将点击事件绑定到带有/不带有临时函数的上述函数?
我考虑过使用委托、Func<T, TResult>
表示法,或者以某种方式传递一个自定义 EventArgs,其中包含单击按钮的索引;但由于缺乏足够的 C# 知识,我没有成功。
如果你们中的任何一个人建议将每个控件的索引保存在其标签中:是的,这是可能的,但由于某种原因我不想使用它,因为如果你有一个抛出一些事件但没有标记属性什么的,这种方式没用。