、VB.NETテキストボックスのKeyDownイベントは、私はTabControlのページ上のテキストボックスを持っている
発射、およびされていません。私はUserControlから実際のフォームにフォームを切り替える前に、これは素晴らしい仕事をしていた。この変更によって実際のコードは変更されませんでした。
今、私はすべてを試しました。 AcceptTab = Trueに設定するテキストボックスがあり、KeyPreview = False(フォームがテキストボックスの前にイベントを取得すると、想定しているものが混乱するため)。ここで
は、テキストボックスのために私のコードです:
Private Sub txtMsgDTG_KeyDown(ByVal sender As Object, ByVal e As KeyEventArgs) Handles txtMsgDTG.KeyDown
'check for tabbed out
If e.KeyCode = Keys.Tab Then
'If the user tabs into this field after filling out the necessary fields ...
If txtMsgDTG.Text = String.Empty Then
'If the user left the field BLANK ...
'Move to next page:
TabControl1.TabPages(0).Enabled = True
TabControl1.TabPages(1).Enabled = True
TabControl1.TabPages(2).Enabled = False
TabControl1.TabPages(3).Enabled = False
TabControl1.TabPages(4).Enabled = False
TabControl1.SelectedIndex = 1
Else
'If the user did NOT leave the field blank ...
'validate message DTG
Dim dtgCheck As String
dtgCheck = ValidateDTG(txtMsgDTG.Text)
If dtgCheck <> "valid" Then
MsgBox(dtgCheck)
Else
'Move to next page:
TabControl1.TabPages(0).Enabled = True
TabControl1.TabPages(1).Enabled = True
TabControl1.TabPages(2).Enabled = False
TabControl1.TabPages(3).Enabled = False
TabControl1.TabPages(4).Enabled = False
TabControl1.SelectedIndex = 1
End If
End If
End If
End Sub
任意のアイデアの男?
イベントが実際に発生しませんか? 'if e.KeyCode = ...'にブレークポイントを置くと、そこに停止しますか? –
構造の詳細が役立ちます - これはフォームにあるタブコントロール内の編集ボックスですか?または、フォーム上にあるユーザーコントロールのタブコントロール内のエディットボックスですか?等? –