Vb.net 在确认新行之前,如何停用文本框验证?

Vb.net 在确认新行之前,如何停用文本框验证?,vb.net,Vb.net,我有一个表单,其中两个文本框绑定到一个数据表 表中的字段包括: -ID(AllowDBNull=false) -名称(AllowDBNull=false) 我有两个文本框的验证事件处理程序: Friend Sub ValidationEventHandler(ByVal Sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Dim TextBox As TextBox = Sender If Te

我有一个表单,其中两个文本框绑定到一个数据表

表中的字段包括: -ID(AllowDBNull=false) -名称(AllowDBNull=false)

我有两个文本框的验证事件处理程序:

Friend Sub ValidationEventHandler(ByVal Sender As Object, ByVal e As System.ComponentModel.CancelEventArgs)
    Dim TextBox As TextBox = Sender

    If TextBox.Text = "" then
        e.Cancel = true
    End If
End Sub
问题是在启动应用程序时。如果第一个文本框是空的,它会显示一个错误(这是正常的),但我就是无法从中获取焦点。例如,如果TextBoxID接收到焦点,我就不能移动到第二个,以防我想填充第二个,这很烦人

是否有任何方法可以在键入时停用此验证,并在将行插入数据表时将其保留在末尾


谢谢。

在您进入
子系统之前,此
事件的中止应该是
退出子系统

如果您的
textbox
不应该为
空的
被命名为
TextBox1

Friend Sub ValidationEventHandler(ByVal Sender As Object, ByVal e As System.ComponentModel.CancelEventArgs)
 if TextBox1.text.tostring.lenght = 0  then exit sub 
 end sub

是的,将其从事件处理程序中删除,并将其添加到“addToDatabase”例程中。在这种情况下,每次我要插入或更新行时,都必须从所有控件中删除事件处理程序,并在更新数据库时将其添加回。不是吗?试试我的答案,让我知道