Vb.net 对象引用未设置为对象的实例。vb,net中的面向对象类

Vb.net 对象引用未设置为对象的实例。vb,net中的面向对象类,vb.net,Vb.net,我在编译代码时遇到了这个问题 Public Class Form2 Dim db_classobj As Object Dim textboxobj() As TextBox = {TextBox1, TextBox2} Dim datagridobj() As DataGridView = {DataGridView1} Dim temp As New db_class(textboxobj, datagridobj, "Provider=Microsoft.ACE.OLEDB.12.0;D

我在编译代码时遇到了这个问题

Public Class Form2
Dim db_classobj As Object
Dim textboxobj() As TextBox = {TextBox1, TextBox2}
Dim datagridobj() As DataGridView = {DataGridView1}

Dim temp As New db_class(textboxobj, datagridobj, "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=datamhs.accdb", "mhs", "ksmhs")


Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
   db_classobj = temp
End Sub


End Class
在编译过程中,我收到了以下错误消息:
创建表单时出错。有关详细信息,请参见Exception.InnerException。错误是:对象引用未设置为对象的实例。


我的代码怎么了?有人能修好吗?我真的很感激。
谢谢。

您必须先创建阵列

Dim textboxobj() As TextBox = New TextBox(){TextBox1, TextBox2}
Dim datagridobj() As DataGridView = New DataGridView(){DataGridView1}

传递给
db_class
构造函数的参数类型正确,但值不正确。它们导致
db\u类的构造函数引发此异常

如果不知道
db_类
构造函数的哪一行抛出异常,我们无法帮助您

是这条线吗

_textbox(i).DataBindings.Add("text", ds.Tables(_mailboxname), temp(i))

将表单加载函数更改为该函数,并从类的顶部删除
textboxobj
datagridobj
temp
声明

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

     Dim textboxobj() As TextBox = {TextBox1, TextBox2}
     Dim datagridobj() As DataGridView = {DataGridView1}
     Dim temp As New db_class(textboxobj, datagridobj, "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=datamhs.accdb", "mhs", "ksmhs")
     db_classobj = temp
End Sub

基本上发生的事情是,因为类中的
Dim temp as New
语句是正确的,它在表单构造函数之前执行,而构造函数是所有控件(如TextBox1)被赋值的地方,因此,基本上,您将一个
Nothing
值数组传递给
db_类
构造函数。当您点击这一行时,
\u textbox(i).DataBindings.Add(“text”,ds.Tables(\u mailboxname),temp(i))
\u textbox(i)
部分返回
无任何内容
,因此尝试引用
数据绑定
属性失败,因为它不存在。

我认为您的一个对象引用没有设置为对象的实例。这通常意味着您正在访问一个对象上的属性,该对象为
。异常将在程序的特定行发生,是哪一行?什么是
db_类以及您正在调用的五参数构造函数中发生了什么?我不是vb.net的专家,但我认为您的问题来自于控件TextBox1、TextBox2和DataGridView1尚未创建的事实。我会尝试在form2_加载中移动它们的赋值项。我不知道现在该怎么办,你能一步一步解释一下吗?db_类构造函数中的哪一行引发异常?几乎所有NullReferenceException的情况都是一样的。有关某些提示,请参阅“”。如果仍显示,则创建表单时出错。有关详细信息,请参见Exception.InnerException。错误是:对象引用未设置为对象的实例。这实际上不是真的,如果是真的,上面的代码将无法编译。