Проблема Фокуса Флажка Winforms, если никакой текст не Применяется на Флажок

У меня есть несколько флажки на Winforms, не имея текстового Свойства всех флажков, таким образом, проблема состоит в том, что, когда я толплюсь мышь на флажке, он выделился, но когда я перехожу к флажку с помощью клавиши Tab, он никогда не выделяется..

Если кто-либо имеет подобную проблему и уже решил ее, помогите..

7
задан Sameep 7 January 2010 в 10:51
поделиться

2 ответа

Проблема в том, что при установке флажка в фокус выделяется только та текстовая часть регулятора, которая в Вашем случае пуста. У Вас есть несколько вариантов:

1) Для всех Ваших "пустых" текстовых полей установите текстовое свойство в пробел. Это создаст небольшую выделенную часть при установке флажка на элемент управления.

2) Запрограммируйте события OnEnter и OnLeave флажка и нарисуйте/нарисуйте квадрат вокруг всего элемента управления.

3) Если вы хотите, чтобы поведение MouseEnter по умолчанию создавало желтоватый оттенок на самом флажке, создайте свой собственный флажок-контроль следующим образом:

public class MyCB : CheckBox
{
    protected override void OnEnter(EventArgs e)
    {
      base.OnEnter(e);
      base.OnMouseEnter(e);
    }

    protected override void OnLeave(EventArgs e)
    {
      base.OnLeave(e);
      base.OnMouseLeave(e);
    }
}
7
ответ дан 7 December 2019 в 01:22
поделиться

Вы можете это исправить, установив свойство AutoSize = False. Когда AutoSize является True, он действует как ярлык с Autosize Set True, в том, что пустая метка будет практически не займет место на экране. С Autosize = false, вы можете вручную установить ограничивающий прямоугольник для флажков.

0
ответ дан 7 December 2019 в 01:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: