VB.NET-使用其他表单中的文本时未处理NullReferenceError

VB.NET-使用其他表单中的文本时未处理NullReferenceError,vb.net,vb.net-2010,Vb.net,Vb.net 2010,我试图创建一个程序,人们可以上传文本到数据库。我正在使用WebBrowser来实现这一点,但是,当代码尝试使用另一个表单中的文本时,它会创建一个NullReferenceError。当我尝试在调试中运行代码时,该错误未得到处理 这是我在上传时表格中的当前代码: Public Class Form2 Private Sub Form2_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load

我试图创建一个程序,人们可以上传文本到数据库。我正在使用WebBrowser来实现这一点,但是,当代码尝试使用另一个表单中的文本时,它会创建一个NullReferenceError。当我尝试在调试中运行代码时,该错误未得到处理

这是我在上传时表格中的当前代码:

Public Class Form2
    Private Sub Form2_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        WebBrowser1.Navigate("http://database.insma.org/")
        WebBrowser1.AllowNavigation = True
    End Sub

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        WebBrowser1.Document.GetElementById("name").SetAttribute("value", TextBox1.Text)
        WebBrowser1.Document.GetElementById("pass").SetAttribute("value", TextBox2.Text)
        WebBrowser1.Document.GetElementById("edit-submit--2").InvokeMember("click")
        Threading.Thread.Sleep(1000)
        WebBrowser1.AllowNavigation = True
        WebBrowser1.Navigate("http://database.insma.org/?q=node/add/log")
        Threading.Thread.Sleep(1000)
        WebBrowser1.Document.GetElementById("title").SetAttribute("value", Form1.TextBox2.Text)
        WebBrowser1.Document.GetElementById("field_time_utc_[und][0][value]").SetAttribute("value", Form1.TextBox4.Text)
        WebBrowser1.Document.GetElementById("field_location_ex_utwente_hong_k[und][0][value]").SetAttribute("value", Form1.TextBox5.Text)
        WebBrowser1.Document.GetElementById("field_frequency[und][0][value]").SetAttribute("value", Form1.TextBox3.Text)
        WebBrowser1.Document.GetElementById("field_id[und][0][value]").SetAttribute("value", Form1.TextBox6.Text)
        WebBrowser1.Document.GetElementById("field_call_up[und][0][value]").SetAttribute("value", Form1.TextBox7.Text)
        WebBrowser1.Document.GetElementById("field_group_count[und][0][value]").SetAttribute("value", Form1.TextBox8.Text)
        WebBrowser1.Document.GetElementById("body[und][0][value]").SetAttribute("value", Form1.TextBox1.Text)
        WebBrowser1.Document.GetElementById("edit-submit").InvokeMember("click")
        Threading.Thread.Sleep(1000)
        MsgBox("Uploaded to the database!")
    End Sub

    Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs)

    End Sub
End Class
这是错误的样子:

如果你在解释发生了什么事情的时候能给我说点什么,我将不胜感激,因为我可能不明白你们想做什么

如果你能为我提供错误的解决方案,那也太棒了

谢谢,
加权立方体

在你的类实例下面写下:

Public Class Form2
    Dim Form1 As New Form1()
    Private Sub Form2_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        WebBrowser1.Navigate("http://database.insma.org/")
        WebBrowser1.AllowNavigation = True
    End Sub

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        WebBrowser1.Document.GetElementById("name").SetAttribute("value", TextBox1.Text)
        WebBrowser1.Document.GetElementById("pass").SetAttribute("value", TextBox2.Text)
        WebBrowser1.Document.GetElementById("edit-submit--2").InvokeMember("click")
        Threading.Thread.Sleep(1000)
        WebBrowser1.AllowNavigation = True
        WebBrowser1.Navigate("http://database.insma.org/?q=node/add/log")
        Threading.Thread.Sleep(1000)
        WebBrowser1.Document.GetElementById("title").SetAttribute("value", Form1.TextBox2.Text)
        WebBrowser1.Document.GetElementById("field_time_utc_[und][0][value]").SetAttribute("value", Form1.TextBox4.Text)
        WebBrowser1.Document.GetElementById("field_location_ex_utwente_hong_k[und][0][value]").SetAttribute("value", Form1.TextBox5.Text)
        WebBrowser1.Document.GetElementById("field_frequency[und][0][value]").SetAttribute("value", Form1.TextBox3.Text)
        WebBrowser1.Document.GetElementById("field_id[und][0][value]").SetAttribute("value", Form1.TextBox6.Text)
        WebBrowser1.Document.GetElementById("field_call_up[und][0][value]").SetAttribute("value", Form1.TextBox7.Text)
        WebBrowser1.Document.GetElementById("field_group_count[und][0][value]").SetAttribute("value", Form1.TextBox8.Text)
        WebBrowser1.Document.GetElementById("body[und][0][value]").SetAttribute("value", Form1.TextBox1.Text)
        WebBrowser1.Document.GetElementById("edit-submit").InvokeMember("click")
        Threading.Thread.Sleep(1000)
        MsgBox("Uploaded to the database!")
    End Sub

    Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs)

    End Sub
End Class

看起来form1不是Instanced您必须具有对类型为
form1
的现有对象的引用
Form1
命名一个类,而不是一个对象。科迪,请你提供一个书面答案好吗?可能是重复的,你能把它添加到一个例子中吗?由于某种原因,它不起作用,我可能将Dim Form1作为新Form1()放在了错误的spothm中,尝试了它,但它不起作用,出现了相同的错误