フレーム内に相互に排他的な 6 つのラジオ ボタンと 1 つのコマンド ボタンで構成されるフォームがあります。
各ラジオ ボタンには既に異なるタブ インデックスを指定しましたが、実行時にタブ フォーカスを押すと、ラジオ ボタンからスキップされました。
TABを押して別のラジオボタンにフォーカスを与える方法は?
フレーム内に相互に排他的な 6 つのラジオ ボタンと 1 つのコマンド ボタンで構成されるフォームがあります。
各ラジオ ボタンには既に異なるタブ インデックスを指定しましたが、実行時にタブ フォーカスを押すと、ラジオ ボタンからスキップされました。
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