我有一个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 = ...'上放置一个断点,它会在那里停止吗? – 2012-04-19 14:36:13
有关结构的更多细节将有所帮助 - 这是一个窗体中的选项卡控件内的编辑框?或者是现在在表单上的用户控件的选项卡控件部分中的编辑框?等等? – 2012-04-19 14:38:43