Winforms перемещают фокус на следующий элемент управления в usercontrol - PullRequest
0 голосов
/ 04 мая 2020

Как переместить фокус в UserControl элементах управления? Сначала проверьте вложение. Я установил элементы управления в TableLayout и установил **TabIndex**, все работает хорошо. Но когда фокус приходит на usercontrol Drzave, Postanski br., Grad and Adrese, он пропускает usercontrol.

Так что в TableLayout ROW я сначала помещаю Panel, а в эту панель я помещаю UserControl. Проблема в том, что переход к следующему элементу управления не работает, если следующий элемент управления находится на панели.

Что я пробую:

Все мои элементы управления имеют абстрактный базовый класс и все переопределены OnKeyUp событие. Я изменяю TAB на Enter

protected override void OnKeyUp(KeyEventArgs e)
{
    if(e.KeyCode == Keys.Enter)
    {
        SendKeys.Send("{TAB}");
    }
}

Так что все мои элементы управления переопределяют это событие и все работают хорошо.

В usercontrol я создаю свойство, чтобы попробовать доступ к элементу управления, и устанавливаю фокус из родительской формы.

  public BaseComboBox Drzava
    {
        get { return this.drzaveComboBox.Drzave; }
        set { this.drzaveComboBox.Drzave = value; }
    }

Также я создаю LEAVE событие TextBox Rabat. Когда пользователь покидает текстовое поле rabat, я пытаюсь вручную установить фокус в usercontrol drzava.

  private void rabatTextBox_Leave(object sender, EventArgs e)
        {
            this.adreseGroupedUC1.Drzava.Focus(); // select();
        }

В обоих случаях я пытаюсь не работать.

enter image description here

1 Ответ

1 голос
/ 04 мая 2020

Ответ можно найти на вкладке свойств для вашего объекта панели (см. Изображение ниже). Присвойте панели индекс после последнего поля ввода над ним и присвойте первому полю ввода внутри панели тот же индекс. Пример порядка указателей:

поле ввода 1 = 0,
поле ввода 2 = 1,

Панель = 2,

поле ввода 3 на панели = 2,
поле ввода 4 на панели = 3,

поле ввода 2 = 4,

Также измените свойство TabStop панели на true . Это заставит TAB продолжить в правильном порядке.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...