私は相互に排他的なフレーム内の6つのラジオボタンと1つのコマンドボタンで構成されるフォームを持っています。VB6のラジオボタンの間のタブ
各ラジオボタンにはすでに異なるタブインデックスが割り当てられていましたが、実行時にラジオボタンからスキップされたタブフォーカスを押すと、
TABキーを押して別のラジオボタンにフォーカスする方法は?
私は相互に排他的なフレーム内の6つのラジオボタンと1つのコマンドボタンで構成されるフォームを持っています。VB6のラジオボタンの間のタブ
各ラジオボタンにはすでに異なるタブインデックスが割り当てられていましたが、実行時にラジオボタンからスキップされたタブフォーカスを押すと、
TABキーを押して別のラジオボタンにフォーカスする方法は?
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
他の人が上述したように、これは意図された動作である。あなたが本当にこれを達成したいならば、私がこれを行うと考えることができる唯一の方法は、別の画像ボックス(BorderStyle = None、TabStop = False)に各ラジオボタンを配置することです。これは動作しますが、ラジオボタンの間を移動するために矢印キーを使用することはできず、タブで移動することはできません。
を。同じラジオボックス内のボタン間でフォーカスを移動するには、矢印キーを使用します。 –
私は(可能であれば)ラジオボタンのキャプションに同じキーボードショートカットを与えます。これにより、フォーカスがオプション間で繰り返されます。私はこれがどんなUIコンベンションにも違反するかどうかわかりません。 – Dabblernl
@BrianHooperあなたは正しいです。矢印キーを使用するとラジオボタンの値も変更されることを強調しておきましょう。これは意図した動作であり、Windowsユーザーエクスペリエンスのガイドラインに準拠しているため、ユーザーの期待と一致する必要があります – MarkJ