Зона фокусировки с пунктирной линией не появляется, когда вы получаете фокус с помощью горячей клавиши

У меня есть LinkLabel. Если я нажму горячую клавишу, ссылка получит фокус, но пунктирная область не появится! Когда он получил фокус на "Tab", он выделил область фокусировки:

Далее, если нажать горячую клавишу, пунктирная область всегда появляется.

Как получить пунктирную область, сразу появившуюся с помощью горячих клавиш?

1 ответ

Решение

Я нашел проблему. Все дело в защищенном свойстве ShowFocusCues. По умолчанию установлено значение false. Когда вы фокусируете управление с помощью "Tab", ShowFocusCues устанавливается в true.

Это пример того, как установить для ShowFocusCues значение true:

 public class UGLinkLabel : LinkLabel
    {
        private bool _displayFocusCues = true;

        protected override bool ShowFocusCues
        {
            get
            {
                return _displayFocusCues;
            }
        }

        public bool DisplayFocusCues
        {
            get
            {
                return _displayFocusCues;
            }
            set
            {
                _displayFocusCues = value;
            }
        }
    }
Другие вопросы по тегам