Ответ 1
Просто установите для свойства TabStop ярлыков значение false и свойство TabIndex кнопок, что бы вы ни хотели. Вы можете сделать это прямо в окне свойств конструктора.
У меня есть форма с двумя кнопками и двумя ярлыками.
Я хочу установить кнопку 1 = tabIndex = 0, кнопка 2 = tabIndex = 1, и я не хочу устанавливать tabIndex для двух меток, что означает, что если пользователь нажимает на вкладку, он перейдет от кнопки 1 до 2.
Как мне это сделать?
Просто установите для свойства TabStop ярлыков значение false и свойство TabIndex кнопок, что бы вы ни хотели. Вы можете сделать это прямо в окне свойств конструктора.
button1.TabIndex = 0;
button2.TabIndex = 1;
Ярлыки по умолчанию имеют TabStop значение false, что означает, что они не должны фокусироваться, нажав вкладку.
установите для свойств метки tabstop значение false?
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.tabstop.aspx
иначе, просто установите значение tabindex метки в значение перед кнопкой. Затем вы можете использовать клавиши ускорителя, чтобы щелкнуть по кнопке.
У меня была та же проблема, но Элементы управления не имеют свойства TabStop.
Я решил это, установив
TabIndex="-1"
для элементов управления, которые я хочу пропустить, перейдя с вкладкой.
В моем случае все мои ярлыки не имеют TabStop property
.
Я даже не могу установить TabIndex на -1
, так как он скажет Property value not valid
.
Но я замечаю, что как только я запустил приложение, независимо от того, какое значение у меня есть на моем TabIndex для всех моих ярлыков, оно не останавливается ни на каких ярлыках, когда я нажимаю свою вкладку на моей клавиатуре.
Причина этого в том, что элементы управления Label не получают фокуса. Единственный способ заставить элемент управления Label получить фокус - вызвать метод Label.Focus.
Для получения дополнительной информации вы можете прочитать этот форум: Форум MSDN.