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

2019-06-14 22:18发布

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?

标签: c# tabindex
5条回答
老娘就宠你
2楼-- · 2019-06-14 22:35

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.

查看更多
▲ chillily
3楼-- · 2019-06-14 22:50

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

查看更多
虎瘦雄心在
4楼-- · 2019-06-14 22:52
button1.TabIndex = 0;
button2.TabIndex = 1;

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

查看更多
Rolldiameter
5楼-- · 2019-06-14 22:54

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.

查看更多
唯我独甜
6楼-- · 2019-06-14 22:56

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.

查看更多
登录 后发表回答