У меня есть основная форма MDI. На нем я размещаю форму и хочу, чтобы она показывала окно сообщения до его закрытия (спрашивая пользователя, сохранять ли изменения).
Пока все хорошо, но я обнаружил, что закрытие основной формы MDI не вызывает дочернее событие FormClosing MDI. Я подумал, что просто вызову MdiChild .Close () в событии FormClosing main MDI (которое поднимается). Это швы, чтобы работать, однако это вызывает проблемы ...
В отображаемом окне сообщения я предлагаю пользователю сохранить изменения, а не сохранять изменения и отменить закрытие. Обычно это работает нормально, однако я не могу найти способ отменить событие FormClosing main MDI. Есть ли элегантный способ сделать это?
EDIT : я решил эту проблему, выдав исключение (когда пользователь решает отменить процедуру закрытия), которое фиксируется в событии FormClosing main MDI. Таким образом, я знаю, когда мне нужно отменить событие FormClosing главного MDI, и это работает нормально ... Однако я просто не могу поверить, что этот «хак» - единственный способ сделать это. Конечно, есть лучший способ?