如何在表单中禁用控件的选项卡索引?

31
我有一个包含2个按钮和2个标签的表单。
我希望将Button 1的tabIndex设置为0,Button 2的tabIndex设置为1,并且不想为这2个标签设置tabIndex。也就是说,如果用户按Tab键,它会从Button 1跳到Button 2。
我该如何实现?
6个回答

47

只需将标签的TabStop属性设置为false,将按钮的TabIndex属性设置为您想要的任何值。您可以在设计器的属性窗口中直接完成此操作。


10
标签和其他控件,例如单选按钮在属性窗口中似乎没有“TabStop”属性。我没有看到它。为确保准确性,请注意上下文。 - JJ.
9
TabStop 对于标签实际上并不相关。.NET 足够智能,知道你永远不能通过 Tab 键访问标签:http://msdn.microsoft.com/en-us/library/1dsccs1d.aspx - itsme86

2
在我的情况下,所有的标签都没有“TabStop属性”。我甚至不能将TabIndex设置为“-1”,因为它会显示“Property value not valid”。但是我注意到,一旦运行应用程序,无论我对所有标签的TabIndex设置什么值,当我按下键盘上的Tab键时,它都不会停在任何标签上。
造成这种情况的原因是Label控件没有焦点。唯一使Label控件获得焦点的方法是调用Label.Focus方法。
更多信息,请参阅此论坛:MSDN Forum。

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

标签默认情况下TabStop设置为false,这意味着它们不应该通过按Tab键来获取焦点。


0
根据MSDN上的文档,对于Label类,TabStop属性不相关,因此将TabStop设置为true没有任何效果。因此,我将两个标签的索引都设置为0,按钮1将获得索引1,按钮2将获得索引2。

0

在设计环境中,您可以为标签添加制表符。但是,当您运行窗体时,您不能为标签添加制表符。因此,您不需要为标签设置TabStop或调整Tab Index。


0

7
标签和其他控件,如单选按钮,在属性窗口中似乎没有 TabStop 属性。但请注意,这并不代表它们无法被设置成可以通过 Tab 键导航到的控件。 - JJ.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接