如何为数组中的对象创建事件?

Mik*_*ike 2 c# arrays events

我正在尝试创建几个对象并将它们添加到一个我可以做的数组中但是我希望所有对象都有一个事件.例如,我在一个数组中有50个动态创建的图片框,我需要从我点击的图片中获取图片.如何在不进行50次单独活动的情况下进行此操作?

Ed *_* S. 7

您将事件处理程序连接到Click每个事件的事件PictureBox.使用该sender参数获取对PictureBox所单击的特定内容的引用(sender如果您不知道,那么该内容是什么;无论引发哪个对象,该事件都将作为sender参数传递给处理程序).

private void HookUpEventHandlers()
{
    var someListOfPicBoxes = GetPicBoxList();
    foreach(var p in someListOfPicBoxes)
    {
        p.Click += p_Click;
    }
}

private void p_Click(object sender, EventArgs e)
{
    // this is the PictureBox that was clicked
    var pb = (PictureBox)sender;
}
Run Code Online (Sandbox Code Playgroud)