VB6中单选按钮之间的选项卡

VB6中单选按钮之间的选项卡,vb6,radio-button,tabindex,Vb6,Radio Button,Tabindex,我有一个表单,在一个框架内包含六个单选按钮,它们相互排斥,还有一个命令按钮 我已经为每个单选按钮提供了不同的选项卡索引,但在运行时,按tab focus键跳过了单选按钮 那么,如何通过按TAB键将焦点对准另一个单选按钮呢?正如上面其他人所说的,这是预期的行为。如果您真的希望实现这一点,那么我唯一能想到的方法就是将每个单选按钮放在一个单独的图片框上(BorderStyle=None,TabStop=False)。这将起作用,但您将无法使用箭头键在单选按钮之间移动,只能使用选项卡 Private S

我有一个表单,在一个框架内包含六个单选按钮,它们相互排斥,还有一个命令按钮

我已经为每个单选按钮提供了不同的选项卡索引,但在运行时,按tab focus键跳过了单选按钮


那么,如何通过按TAB键将焦点对准另一个单选按钮呢?

正如上面其他人所说的,这是预期的行为。如果您真的希望实现这一点,那么我唯一能想到的方法就是将每个单选按钮放在一个单独的图片框上(BorderStyle=None,TabStop=False)。这将起作用,但您将无法使用箭头键在单选按钮之间移动,只能使用选项卡

Private Sub Option1_KeyPress(KeyAscii As Integer)
   If KeyAscii = 9 Then
      Option2.SetFocus
   End If
End Sub
KeyAscii=9是Tab键的代码。但是你必须为你所有的单选按钮做这件事

如果您添加属于索引为0、1、2的同一个单选按钮的单选按钮,您可以这样做:

Private Sub Option1_KeyPress(Index As Integer, KeyAscii As Integer)
If KeyAscii = 9 Then
    If Index < Option1.Count - 1 Then
        Option1(Index + 1).SetFocus
    Else
        Option1(0).SetFocus
    End If
End If
End Sub
Private子选项1\u按键(索引为整数,键ASCII为整数)
如果keyscii=9,则
如果索引<选项1.计数-1,则
选项1(索引+1)。设置焦点
其他的
选项1(0)。设置焦点
如果结束
如果结束
端接头

这是预期的行为。要在同一个单选框中的按钮之间移动焦点,请使用箭头键。我要做的是(如果可能)为单选按钮的标题提供相同的键盘快捷键。这将导致焦点在选项之间循环。我不知道这是否违反了任何UI约定。@BrianHooper您是对的。值得强调的是,使用箭头键也会更改单选按钮的值。这是预期的行为,符合Windows用户体验指南,因此应符合用户的期望