У меня есть текстовое поле в форме диалога, я хочу по умолчанию сосредоточиться на нем, как только вы создадите нагрузку, но по какой-то причине этого не происходит. Я пробовал: Focus и form_load event и поместил метод фокусировки сразу после инициализации формы.
Как установить фокус на текстовое поле в форме диалога с помощью С#
Ответ 1
Вы можете вызвать метод Control.Focus()
в обработчике событий Dialog Form Activated
или установить индекс указателя табуляции или использовать метод Select()
.
Ответ 2
Использовать форму Отображаемое событие вместо Load. Элемент управления не может получить фокус, пока форма не отображается.
public partial class Form1 : Form
{
private void Form1_Shown(object sender, EventArgs e)
{
textBox1.Focus();
}
}
Ответ 3
Вы пытались использовать textBox1.Select();
?
Ответ 4
Попробуйте использовать textbox2.Select() в событии загрузки формы диалога.
Ответ 5
Вы также можете использовать метод ActiveControl для диалога. Например, если вы создаете диалоговую форму в своем коде, например [ Form dialog = new Form()), вы должны использовать dialog.ActiveControl = "Имя вашего элемента управления".