How do I disable a tab index on a control on a for

2019-06-14 22:25发布

问题:

I have a form with 2 buttons and 2 labels.

I want to set button 1 = tabIndex = 0, button 2 = tabIndex = 1 and I do not want to set a tabIndex to the 2 labels, meaning that if the user presses tab, it'll go from button 1 to button 2.

How would I go about doing this?

回答1:

Just set the TabStop property of the Labels to false and the TabIndex property of the Buttons to whatever you want. You can do it right in the Properties window of the designer.



回答2:

button1.TabIndex = 0;
button2.TabIndex = 1;

Labels by default have TabStop set to false which means they shouldn't get focus by pressing tab.



回答3:

set the label's tabstop properties to false?

http://msdn.microsoft.com/en-us/library/system.windows.forms.control.tabstop.aspx

otherwise, just set the label's tabindex value to the value before the button. Then you can use accelerator keys to click on the button.



回答4:

In my case, all my Labels don't have TabStop property.

I cannot even set the TabIndex to -1 either, since it will say Property value not valid.

But I notice that once I run the application, regardless on what value I have on my TabIndex for all my labels, it doesn't stop on any labels when I press my Tab on my keyboard.

The reason for this is that Label controls do not get focus. The only way to cause a Label control to gain focus is to call the Label.Focus method.

For more info, you can read this forum: MSDN Forum.



回答5:

As per the documentation on MSDN, The TabStop property is not relevant for the Label class, so setting TabStop to true has no effect. So i will set both label's tab indexes into 0 and button 1 will get tab index 1 and button 2 will get tab index 2



标签: c# tabindex