Я использую DevExpress NavBar в качестве главного меню для моего приложения MDI, и одна из групп NavBar содержит элементы, которые представляют открытые дочерние формы MDI. У меня возникают проблемы с обновлением меню при закрытии дочерней формы MDI.
Мне нужно использовать коллекцию Form.MdiChildren для создания группы меню, но проблема в том, что при использовании события Form.FormClosing эта закрытая форма все еще находится в коллекции Form.MdiChildren. Я попытался использовать System.Timers.Timer, чтобы подождать 1 секунду, а затем обновить меню, но я получаю различные исключения из-за асинхронного поведения (когда пользователь очень быстро закрывает несколько форм).
Я также не могу вести свой собственный список дочерних элементов MDI из-за сложности дизайна классов.
Есть ли у кого-нибудь изящное решение для этого?