C# Контекстное меню. Ожидание

  • Автор темы cLif
  • Дата начала
C

cLif

Есть функция, генерирующая контекстное меню по набору входных параметров. На выходе функция должна вернуть некоторый идентификатор сделанного выбора.
Для пункта меню переопределено событие OnClick(), ставящее в некую глоб. переменную значение идентификатора.

Проблема: после вызова .Show() функция идет далее не ожидая завершения выбора, соотв. глоб. переменная не имеет значение. Как дождаться завершения выбора и пойти дальше?
 
L

LuMee

Если грубо и в лоб, то можно примерно так: перед вызовом Show запустить некий поток, с которым после Show сделать Join. Рабочий метод потока в цикле проверяет значение некоторого флага, который сбрасывается в обработчике события OnClick (т.е. сразу после клика поток завершается).
 
C

cLif

Спасибо за совет) получилось реализовать через API
 
C

CSerX

Что за извращения с циклами. Все очень просто вызываем ShowDialog(this), параметр this текущей формы желательно передавать, что бы корректно отрабатывалось переключение между окнами.
В итоге после того как закроется открывшаяся форма поток вызвавший ShowDialog продолжит выполнятся.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!