Мне нужно сделать в событии Button1_Click длинный список действий и прочего, НО если в какой-то момент условие будет выполнено, весь процесс придется перезапустить. То, что вы бы назвали «рекурсивным» процессом/функцией/назовите это как хотите. ТОЛЬКО похоже, что это не работает. Обычно, насколько мне известно, вы используете button1.PerformClick() для вызова инструкций кнопки/инструкций обработчика событий. Вот что я делаю. НО это не работает. В инструкциях говорится: «Если это правда, выполните щелчок», поэтому, если условие не выполнено, остальные инструкции будут выполнены, и наоборот, все будет перезапущено. Только когда условие выполнено, инструкция щелчка фактически считывается программой, но не выполняется, то есть, даже если условие выполнено, весь процесс не перезапускается, а вместо этого продолжается с остальными инструкциями. Я тоже пробовал
Код: Выделить всё
button1.Invoke(new Action(() => { button1.PerformClick(); }));
-
структура if-else (if->перезапустить, else->продолжить)
< /li>
но они тоже не работают.
Итак, есть ли способ сделать это, не пытаясь позвонить внешний метод, содержащий инструкции? Я имею в виду, что мне очень странно, что обработчик нажатия кнопки кажется нерекурсивным. Я уже проверил это, но не нашел полезного ответа, возможно, вы сможете помочь. Я еще не пробовал вызывать для этого внешний метод, поскольку предпочитаю минимизировать код.
Подробнее здесь:
https://stackoverflow.com/questions/785 ... c-winforms