Здравствуйте, Hоmunculus, Вы писали:
H>Есть однопоточная программа.
H>Есть два контрола, полностью друг друга дублирующие. Не спрашивайте зачем. Так надо. Изменения в первом тут же отоьражаются на втором и наоборот.
H>Естественно уходим в зацикливание.
H>Да, булевский флаг вопрос решает. Типа в одном оботабоьчике поднимаем, во втором проверяем и выходим. Типа мьютекса. Но как-то это допотопно. Есть красивые современные решения?
Определить понятие "источник изменения". Если им является парный контрол, то не сообщать ему об изменении. Сообщать только если источником является некто третий.
Кстати, если C#, то там в любом обработчике есть параметр Sender.
В C# sender — это, как правило, первый параметр в методах обработки событий (event handler), ссылающийся на объект, который инициировал событие. Он имеет тип object, позволяя определить, какой конкретно элемент управления (например, кнопка) вызвал код. Используется в механизме EventHandler для управления событиями.
ИИ, конечно.