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) ;
}
Если вы напишите item.Key.Click += и нажмете TAB в Visual Studio, то та вам создаст метод-обработчик, который обязательно должен принимать два значения:
private void Key_Click(object sender, EventArgs e)
{
//Реализация.
}
Эти значения обязательны, вы от них не избавитесь. Вот внутри этого метода вы уже и пишете что вам необходимо.
Подпись на события также возможна при помощи так называемой "лямбды", она значительно сокращает код и тут не обязательно создавать дополнительный метод. Метод выше можно записать как:
item.Key.Click += (s, e) =>
{
//Реализация.
};
Сокращаем еще, дописываем ваш метод и получаем следующее:
item.Key.Click += (s, e) => getImagesToSecondForm(item.Value);
Продвижение своими сайтами как стратегия роста и независимости