Есть 2 формы Form1 и Form2. Вторая форма открывается с первой :
Form2.ShowDialog();
После закрытия второй формы пытаюсь вызвать метод первой формы :
MaterialCreate("_type")
Вот так:
Form2.ShowDialog();
Form2.FormClosed += new FormClosedEventHandler(MaterialCreate("_type")); // ошибка
На что компилятор выдает ошибку : требуется имя метода. Почему так, ведь имя метода ему указал правильно ?
Form2.FormClosed += new FormClosedEventHandler(MaterialCreate("_type"));
Вы пытаетесь создать делегат типа FormClosedEventHandler, который в качестве агрумента ожидает метод, принимающий два параметра: object sender и FormClosedEventArgs e, а Вы вместо этого пытаетесь передать туда напрямую MaterialCreate(String type). Нужно создать отдельно обработчик для события закрытия формы:
private void OnForm2Closed(object sender, FormClosedEventArgs e)
{
MaterialCreate("_type");
}
После этого, добавьте обработчик к событию:
Form2.FormClosed += new FormClosedEventHandler(OnForm2Closed);
либо более короткая запись с использованием техники "предположение делегата":
Form2.FormClosed += OnForm2Closed;
UPD:
Кроме того, можете использовать лямбда-выражение, не прибегая к созданию отдельного метода-обработчика, в таком случае просто напишите (самый простой и легко читаемый вариант):
Form2.FormClosed += (sender, e) => MaterialCreate("_type");
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости