У меня есть пользовательский элемент управления, который ведет себя подобно элементу управления с вкладками.
Заголовки вкладок - это UserControl
экземпляры, которые переопределяют события Paint
, чтобы они выглядели как пользовательские.
Чтобы использовать события Validating на различных элементах управления на наших вкладках, когда пользователь нажимает на заголовки вкладок, мы устанавливаем фокус на TabHeader
пользовательский элемент управления.
Я заметил, что Control.Focus()
иногда возвращает false, но в документации не говорится, почему Control.Focus()
будет возвращать false, кроме того, что элемент управления не может получить фокус. Но я не знаю почему.
Вот что я вижу:
Если мой TabHeader
UserControl
не содержит субэлементов управления, и я вызываю myControl.Focus()
из события MouseClick
, фокус возвращает значение true.
Если мой TabHeader
UserControl
содержит субэлемент управления, и я звоню myControl.Focus()
из события MouseClick
, фокус возвращает значение false.
Если мой TabHeader
UserControl
содержит субэлемент управления, и я вызываю myControl.subControl.Focus()
из события myControl.MouseClick
, фокус возвращает значение true.
Может кто-нибудь объяснить это?