我有一个奇怪的问题(可能只是为了理解)为什么在测试应用程序中,直到我按 Tab 键才显示焦点矩形。
我想显示一个带有两个单选框和两个按钮的对话框。当我显示对话框时,我希望在第一个单选按钮周围看到一个焦点矩形。 (以便用户可以看到焦点在哪里。)我对控件进行了排序,并将 tabindex 属性设置为从 0 到 4,以便它们处于正确的顺序。 (radiobox 1 的 tabindex 0,...)
当我显示对话框时,第一个单选框具有焦点,但它周围没有焦点矩形。 (直到我按 Tab 键。)
我创建了一个完全空的 winforms 项目(Visual Studio 2010),添加控件并启动它。所以根本没有什么特别的。
有人可以提示我我做错了什么吗?
抱歉,这是我的示例代码:
Public Class Form1
Private Sub Button1_Click(sender As System.Object, _
e As System.EventArgs) _
Handles Button1.Click
Me.Close()
End Sub
Private Sub Button2_Click(sender As System.Object, _
e As System.EventArgs) _
Handles Button2.Click
Me.Close()
End Sub
Private Sub Form1_Shown(sender As Object, _
e As System.EventArgs) _
Handles Me.Shown
RadioButton1.Focus()
RadioButton1.Select()
SendKeys.SendWait("{TAB}")
SendKeys.SendWait("+{TAB}")
End Sub
End Class
正如我所评论的,这实际上是一个用户偏好设置。
但要显示矩形,请尝试继承您自己的 RadioButton 并覆盖ShowFocusCues
功能:
Public Class RadioWithFocus
Inherits RadioButton
Protected Overrides ReadOnly Property ShowFocusCues() As Boolean
Get
Return True
End Get
End Property
End Class
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)