У меня есть приложение WinForm с несколькими элементами управления вводом в форме. В обработчике события проверки (либо Validating
, либо Validated
) мне нужно определить, какой элемент управления активировать следующим, на основе проверенного значения.
В документации Microsoft ] Проверяя событие , в нем говорится:
Внимание
Не пытайтесь установить фокус из Enter, Обработчики событий GotFocus, Leave, LostFocus, Validating или Validated. Это может привести к тому, что ваше приложение или операционная система перестанут отвечать. Дополнительные сведения см. В разделе WM_KILLFOCUS в разделе «Справочник по вводу с клавиатуры» и в разделе «Тупиковые ситуации для сообщений» раздела «О сообщениях и очередях сообщений» в библиотеке MSDN по адресу http: // msdn.microsoft.com/library. .
Существует свойство ActiveControl
для класса Form, которое позволяет установить элемент управления, который должен стать активным, и никаких ограничений не упоминается. Я не нашел другого решения после нескольких часов поиска в Интернете.
Устанавливает свойство ActiveControl
(вместо Focus
) из моего обработчика событий Validated как безопасный способ позитивной активации контроль, который я хочу? Если не, есть ли решения?
Поскольку .NET Compact Framework не имеет свойства ActiveControl
, может ли кто-нибудь предложить решение?