Здравствуйте, Аноним, Вы писали:
А>Программа реализует набор комманд, доступных через элементы меню. А>(например File.Open File.New File.Close File.Save ...) Число комманд достаточно большое ~100 А>При этом при активации отдельных элементов возможно изменение состояния других элементов.
Во-первых, идея, чтоб состояние одного пункта меню зависело от состояния другого пункта меню — архисомнительная. Навесить себе тут циклическую зависимость — как два байта переслать.
Во-вторых, есть надёжный и простой способ обновления — обновлять их просто по таймеру. При этом, правда, приходится заботиться о том, чтобы в начале каждого обработчика команды был дубликат проверки. Но об этом я бы позаботился независимо от механизма обновлений — просто для надёжности.