Dictionary<MyForm, PictureBox[]> gallery = ...;
void getImagesToSecondForm(PictureBox[] pics){
fp2.Controls.Clear();
foreach (var pic in pics)
{
fp2.Controls.Add(pic);
}
}
foreach (var item in gallery)
{
//Как тут назначить?
item.Key.Click += getImagesToSecondForm(item.Value) ;
}
如果您在 Visual Studio 中编写
item.Key.Click +=并单击TAB,那么它将为您创建一个处理程序方法,该方法必须采用两个值:这些值是强制性的,你不能去掉它们。在此方法中,您已经编写了所需的内容。
使用所谓的“lambda”也可以对事件进行签名,它显着减少了代码,并且没有必要在这里创建额外的方法。上面的方法可以写成:
我们进一步缩短它,添加您的方法并获得以下内容: