|
分類:[VB.NET/VB2005 以降]
Tabキーを押下すると次のTextBoxにフォーカスが移動し、Shift + Tab でひとつ前のTextBoxにフォーカスが移動するしようとしていて下記の様に実装しました。
※ 次のTextBox、又はひとつ前のTextBoxが非活性の場合はさらに次、さらにひとつ前にフォーカス移動する
Private Sub TextBox1_PreviewKeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.PreviewKeyDownEventArgs) Handles TextBox1.PreviewKeyDown
If e.KeyCode = Keys.Tab OrElse e.KeyCode = Keys.Enter Then
If (e.Modifiers And Keys.Shift) = Keys.Shift Then
If BackTextBox.Enabled Then
Me.SelectNextControl(BackTextBox, True, True, True, True)
Else
Me.SelectNextControl(BackTextBox2, True, True, True, True)
End If
Else
If NextTextBox.Enabled Then
Me.SelectNextControl(NextTextBox, False, True, True, True)
Else
Me.SelectNextControl(NextTextBox2, False, True, True, True)
End If
End If
End If
End Sub
ただ、途中にボタンがあり、ボタンの場合は、Button1.Focus() で実装しましたが、
実行すると、ボタンにフォーカスがあたりません。
SelectNextControlでコントロールしようと思い、
Me.SelectNextControl(Button1, True, True, True, True) と実装しましたが、全く別のTextBoxにフォーカスがあたります。
同じく、Me.SelectNextControl(Button1, False, True, True, True) としても結果は同じです
【OS】 Win 7 SP1
【開発環境】Visual Studio 2008Professional
【言語】 VB.net
よろしくお願い致します。
|