Предположим, у меня есть событие KeyPress
, на которое подписаны различные классы.Предположим, что класс A также подписывается на KeyPress
в форме, а класс B также подписывается на KeyPress
Теперь я хочу, чтобы только один из этих классов обрабатывал событие, сгенерированное формой во время выполнения.То есть, скажем, класс A обрабатывает первым, я попытался использовать e.Handled = true
, но это не помогает в этом случае.
Я не хочу, чтобы класс B обрабатывал событие, запущенное из формы, если обработан класс Aу меня уже есть работа вокруг, которая включает в себя установку некоторых открытых флагов внутри A и B, но это не очень хорошая идея из принципа разработки программного обеспечения, я хочу, чтобы классы были как можно более независимыми друг от друга, но в то же время,должен знать, что событие уже обработано и не нуждается в повторной обработке.
Возможно ли это?
Да, возможно, необходимо проверить наличие e.Handled == true
и.NET позаботится обо всем остальном: -)