Как переместить фокус в 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();
}
В обоих случаях я пытаюсь не работать.