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