制造虚空动态

0 c# events dynamic void winforms

我创建了一些动态的图片框,但我不知道如何对点击进行单独操作.

PictureBox[] app=new PictureBox[file.Length];
int i = 0, prev=20;
foreach(string element in file)
{
    app[i] = new PictureBox();
    app[i].BackgroundImage = Image.FromFile(element.Remove(element.Length - 3) + "png");
    app[i].Location = new Point(prev, 85);
    app[i].Size = new Size(100, 100);
    app[i].Name = "test" + i;
    app[i].Click += new EventHandler(run(element, dir));

    this.Controls.Add(app[i]);

    i++; 
    prev += 20;
}

private void run(string element, string dir)
{
      MessageBox.Show(element);
}
Run Code Online (Sandbox Code Playgroud)

那我怎么能这样做呢.请帮忙!谢谢!

Del*_*lta 6

这是你想要的吗?

app[i].Click += (sender, args) => { MessageBox.Show(element);};
Run Code Online (Sandbox Code Playgroud)