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