Мы используем специальный менеджер форм, который использует шаблон субъекта / наблюдателя.
Каждая открытая форма сообщается FormsManager, FromsManager делает себя наблюдателем формы.
Это также делает форму наблюдателем FormsManager.
Таким образом, вы получите каждую форму, наблюдающую FormsManager и FormsManager, наблюдающую каждую форму. Затем каждая форма может связываться с любой другой формой через FormsManager, при этом каждая форма не должна знать обо всех остальных.