CF - установить фокус на определенный элемент управления - PullRequest
4 голосов
/ 10 июня 2010

У меня есть форма, которая имеет панель с некоторыми текстовыми полями и флажок, который находится за пределами панели.Каждый раз, когда форма загружается, флажок имеет фокус.

Я поместил обработчик события en при загрузке формы и попытался установить фокус на первом текстовом поле, вместо этого установив его на флажок.в методе я пытаюсь установить фокус на первом текстовом поле на панели

        private void form_Activated(object sender, EventArgs e)
    {
        if (this.parametersPanel.Controls.Count > 0)
        {
            this.parametersPanel.Focus();
            (this.parametersPanel.Controls[0]).Focus();
        }
    } 

Это не работает, может ли что-нибудь1 помочь мне, пожалуйста?

Ответы [ 5 ]

1 голос
/ 14 июля 2014

Опция 1:

Поместите это в событие загрузки формы:

this.ActiveControl = myTextBox;

Опция 2:

Поместите это в событие загрузки формы:

this.Show();
myTextBox.Focus();

Фокус () не будет работать до тех пор, пока TextBox не станет видимым.

1 голос
/ 10 июня 2010

В режиме разработки выберите свой элемент управления и установите его tabindex на 0

1 голос
/ 10 июня 2010

попробуйте установить фокус непосредственно на текстовое поле вместо использования индекса элементов управления панели.

0 голосов
/ 10 июня 2010

Йок может использовать решение, предоставленное Ахметом.Поскольку вы хотите, чтобы текстовое поле имело фокус ... установка нуля для индекса табуляции сделает это.

Также вы можете использовать метод фокусировки textbox'e, чтобы установить фокус в событии загрузки формы....

0 голосов
/ 10 июня 2010

Вместо Activated попробуйте Shown

...