【发布时间】:2014-06-24 11:03:09
【问题描述】:
在 Microsoft Access 中,当您单击标签时,与该标签关联的文本框将获得焦点。据我所知,VB.NET 没有同样的功能。我知道我总是可以在标签的点击事件中添加一些东西,就像这样......
TextBox1.Focus()
但是我在表单上有几十个字段,如果我不需要将它添加到每个标签的点击事件中,它会变得容易得多。
我想有可能为所有标签创建一个事件,强制一个选项卡到下一个控件,并假设我正确设置了选项卡索引,那么这将起作用。向表单添加新字段时会出现问题,在这种情况下,所有选项卡索引都需要重新验证。
Private Sub Label1_Click(sender As Object, e As EventArgs) Handles Label1.Click, Label2.Click
'code to tab to next field...
End Sub
有没有更简单的方法?
【问题讨论】:
-
@Raging Bull。每个文本框有 1 个标签。加上一些标签/其他控件(组合框、dateTimePicker 等)组合。我想如果我能解决文本框的问题,那么其他控件也应该效仿。
-
所以你想在点击任何标签时将焦点设置到下一个控件(比如按 Tab 键),对吧?
-
@Raging Bull。基本上,但请参阅上面的评论,其中添加额外的字段(在此程序中经常发生)需要再次验证所有选项卡索引。
-
重要的是,当您添加一个新控件时,您还会为其添加一个新标签,以设置它们各自的 tabindex 而不会与其他控件发生冲突。对我来说似乎没有太大的负担
-
考虑将 Label 和 TextBox 放入 UserControl。