我有一个带有 2 个按钮和 2 个标签的表单。
我想设置按钮 1 = tabIndex = 0,按钮 2 = tabIndex = 1 并且我不想将 tabIndex 设置为 2 个标签,这意味着如果用户按下制表符,它将从按钮 1 转到按钮 2。
我该怎么做呢?
只需将 Labels 的 TabStop 属性设置为 false 并将 Buttons 的 TabIndex 属性设置为您想要的任何值。您可以在设计器的“属性”窗口中直接执行此操作。
就我而言,我所有的标签都没有TabStop property
.
我什至不能将 TabIndex 设置为-1
任何一个,因为它会说Property value not valid
.
但我注意到,一旦我运行应用程序,无论我的 TabIndex 上所有标签的值是多少,当我在键盘上按 Tab 时,它都不会在任何标签上停止。
原因是 Label 控件没有获得焦点。使 Label 控件获得焦点的唯一方法是调用 Label.Focus 方法。
有关更多信息,您可以阅读此论坛:MSDN 论坛。
button1.TabIndex = 0;
button2.TabIndex = 1;
默认情况下,标签将TabStop设置为 false,这意味着它们不应通过按 Tab 获得焦点。
将标签的制表位属性设置为 false?
http://msdn.microsoft.com/en-us/library/system.windows.forms.control.tabstop.aspx
否则,只需将标签的 tabindex 值设置为按钮之前的值。然后您可以使用加速键单击该按钮。
根据MSDN上的文档, TabStop 属性与 Label 类无关,因此将 TabStop 设置为 true 无效。所以我将两个标签的标签索引设置为 0,按钮 1 将获得标签索引 1,按钮 2 将获得标签索引 2
在设计环境中,您可以 Tab 标签。但是,当您运行 windows 窗体时,您不能 Tab 标签。因此,您不需要 TabStop 或调整标签的 Tab Index。