C # WinForm нажмите вкладки, и он прыгает повсюду - PullRequest
2 голосов
/ 23 августа 2011

У меня есть WinForm программа. На одном экране есть несколько ComboBoxes, TextBoxes и Buttons. Как сделать так, чтобы когда пользователь нажимал tab, он проходил через поля в последовательном порядке . Смысл сверху вниз? Или мы можем сказать «В моем определенном порядке»? Так, например, он начинается с TextBox1, а затем, когда пользователь нажимает Tab, он переходит к следующему TextBox, а когда снова нажимается Tab, переходит к Button1 и т. Д. и т.д.

Не уверен, если это возможно, но по какой-то причине нажатие клавиши табуляции повсюду. Что определяет «вкладка»? какую логику он использует для перехода к следующему полю?

Ответы [ 7 ]

10 голосов
/ 23 августа 2011

Свойство TabIndex каждого элемента управления определяет порядок вкладок в контейнере (Form, GroupBox, Panel и т. Д.).Если вы работаете в Visual Studio Designer, вы можете использовать пункт меню Вид -> Порядок вкладок для просмотра / редактирования последовательности вкладок.

6 голосов
/ 23 августа 2011

Каждый элемент управления имеет свойство с именем TabIndex.Когда пользователь нажимает клавишу Tab, Windows циклически перебирает каждый элемент управления в порядке индекса вкладки.Если два элемента управления имеют одинаковый TabIndex, они выбираются в том порядке, в котором они были добавлены в коллекцию Forms Controls.

Стоит также отметить, что если у вас есть элемент управления, который может содержать группу элементов управленияв своей коллекции элементов управления (т. е. GroupBox) механизм обработки вкладок придаст фокус вкладке родительскому элементу управления, а затем перебирает все внутренние элементы управления в порядке их внутренней сортировки.Это означает, что все дочерние значения TabIndex могут поддерживаться независимо от всех других элементов управления, которые находятся в той же коллекции, что и родительский элемент управления.

3 голосов
/ 23 августа 2011

Вам необходимо использовать свойство TabIndex на элементе управления. Помните, что согласно документации вы должны установить для свойства TabStop значение true, чтобы включить его в порядок вкладок.

1 голос
/ 23 августа 2011

Каждый элемент управления имеет свойство с именем «TabIndex».По умолчанию они будут увеличиваться при создании элементов.Вы можете установить их вручную.

1 голос
/ 23 августа 2011

Вам необходимо определить TabIndex каждого элемента управления. На панели инструментов дизайнера есть кнопка, чтобы упростить ее (я не помню названия, но вы должны легко ее найти ... это, вероятно, что-то вроде "Tab Order"). Нажмите эту кнопку, затем по очереди щелкните каждый элемент управления в форме.

0 голосов
/ 23 августа 2011

Пожалуйста, проверьте TabIndex свойство.

0 голосов
/ 23 августа 2011
...