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

时间:2011-11-29 02:20:38

标签: c# arrays events

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

2 个答案:

答案 0 :(得分:7)

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

sender

答案 1 :(得分:0)

您创建一个事件处理程序并将其添加到您创建的每个项目中:

添加项目:

        for (int nI = 0; nI < 50; nI++)
        {
            PictureBox oBox;

            oBox = new PictureBox();
            oBox.Click += pictureBox_Click;

            // Add to your array
        }

添加eventhandler:

    private void pictureBox_Click(object sender, EventArgs e)
    {
        // Get a local reference to the box that was clicked
        PictureBox oBox = sender as PictureBox;

    }