Vb.net 使用TabControl切换选项卡时如何检查文本框中的数据

Vb.net 使用TabControl切换选项卡时如何检查文本框中的数据,vb.net,validation,textbox,tabcontrol,Vb.net,Validation,Textbox,Tabcontrol,我正在寻找一种方法,当我在tabcontrol上切换选项卡时,检查是否在两个文本框中输入了数据 我还想知道如何使用按钮来指定单击时要转到的选项卡 我尝试使用tabcontrol1.click设置文本框复选框,但当您单击任何选项卡时,即使只是尝试返回输入数据,也会发出警告 -谢谢你的帮助 Private Sub TabControl1_Selecting(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TabCo

我正在寻找一种方法,当我在tabcontrol上切换选项卡时,检查是否在两个文本框中输入了数据

我还想知道如何使用按钮来指定单击时要转到的选项卡

我尝试使用tabcontrol1.click设置文本框复选框,但当您单击任何选项卡时,即使只是尝试返回输入数据,也会发出警告

-谢谢你的帮助

    Private Sub TabControl1_Selecting(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TabControlCancelEventArgs) Handles TabControl1.Selecting
    If fNameTxtBox.Text = "" Or
        IDTxtBox.Text = "" Then
        MessageBox.Show("You must enter a Name and ID number.", "Data Entry Error", MessageBoxButtons.OK, MessageBoxIcon.Stop)
        fNameTxtBox.Focus()
    End If
End Sub
试试这个

Private Sub TabControl1_Selecting(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TabControlCancelEventArgs) Handles TabControl1.Selecting
    If fNameTxtBox.Text = "" Or
     IDTxtBox.Text = "" Then
        MessageBox.Show("You must enter a Name and ID number.", "Data Entry Error", MessageBoxButtons.OK, MessageBoxIcon.Stop)
        e.Cancel = True '<<<< were telling VB that the event shoulb be terminated
        fNameTxtBox.Focus()
    End If

End Sub

'For Button
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    If fNameTxtBox.Text = "" Or
      IDTxtBox.Text = "" Then
        MessageBox.Show("You must enter a Name and ID number.", "Data Entry Error", MessageBoxButtons.OK, MessageBoxIcon.Stop)

        'Choose one here
        TabControl1.SelectedTab = TabPage1 'Assuming TabPage1 is the tab where the fNameTxtBox is resides
        TabControl1.SelectedIndex = 0 'Assuming the index number of the TabPage in the tab control where the fNameTxtBox is resides

        fNameTxtBox.Focus()
    End If

End Sub
Private子选项卡control1\u selection(ByVal sender作为System.Object,ByVal e作为System.Windows.Forms.TabControlCancelEventArgs)处理TabControl1.selection
如果fNameTxtBox.Text=”“或
IDTxtBox.Text=”“然后
MessageBox.Show(“您必须输入名称和ID号。”,“数据输入错误”,MessageBoxButtons.OK,MessageBoxIcon.Stop)

e、 Cancel=True“当TabPage更改时,TabControl有一个
SelectedIndexChanged
事件。它还有一个
选择
事件(和
选择
),发生在选项卡页面更改之前,允许您取消更改。我不知道为什么你需要一个按钮来点击来改变标签页,这同样发生在点击上。谢谢,我来看看。这个按钮是需要的,因为老师说我们需要一个按钮。。。哈哈。我不认为这是正常需要。更新后的代码-我想我需要能够指定我选择的标签。它仍然会提示每次更改选项卡,甚至在抛出messagebox时也会更改选项卡。请查看传递给您的
e
参数-它包含有关事件的重要信息,如更改/更改/邻近更改的tabindex。您需要测试涉及哪个选项卡每次单击tabpage时,它仍将触发,而不仅仅是当它从包含textbox的tabpage更改时。完美!我认为默认情况下,从第一行开始就应该是这样。我仍在试图找出如何通过单击按钮来指定要转到的选项卡。默认情况下,第一页正在加载,这使得他们无法在不输入数据的情况下离开选项卡,这样才能正常工作。我已将答案更新为包含按钮,请参阅我的帖子。这会引发错误“未处理无效的强制转换异常-无法将类型为“System.Windows.Forms.MouseEventArgs”的对象强制转换为类型为“System.Windows.Forms.TabControlCancelEventArgs”。…试图删除按钮,只取负几分。有点令人沮丧