Ale*_*exS 5 .net c# vb.net winforms
我有一个奇怪的问题(可能只是理解)为什么在测试应用程序中,直到我按Tab键才显示焦点rect.
我想显示一个带有两个radioboxes和两个按钮的对话框.当我显示对话框时,我希望在我的第一个单选按钮周围看到焦点.(这样用户就可以看到焦点所在的位置.)我对控件进行了排序,并将tabindex属性设置为0到4,这样它们的顺序正确.(radiobox 1有tabindex 0,...)
当我显示对话框时,第一个radiobox具有焦点,但它周围没有焦点矩形.(直到我按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
Run Code Online (Sandbox Code Playgroud)
正如我评论的那样,这实际上是用户偏好设置.
但要显示矩形,请尝试继承您自己的RadioButton并覆盖该ShowFocusCues
函数:
Public Class RadioWithFocus
Inherits RadioButton
Protected Overrides ReadOnly Property ShowFocusCues() As Boolean
Get
Return True
End Get
End Property
End Class
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
3904 次 |
最近记录: |