我想在visual basic中询问有关datagridview的内容
我的项目中有1个表单名称'form1'和1个类名'test',在类中有1个方法'addColumn()'。
我想以编程方式向datagridview添加列,当我从方法form1_load直接添加到form1时,它就成功了。像这样的代码
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
DataGridView1.Columns.Add("01", 1)
但是当我通过类测试中的方法添加列时,
Dim obj作为测试
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
obj.addColumns(DataGridView1)
End Sub
我收到了错误
“对象引用未设置为对象的实例。”
类测试中的代码
Public Function addColumns(ByVal dgv As DataGridView)
dgv.Columns.Add("01", 1)
End Function
我的代码有什么问题?,有任何方法可以解决此错误。 请帮帮我......
答案 0 :(得分:1)
您没有声明新的测试对象,因此错误。
Dim obj As New test
或者将函数设为Shared Function
Public Shared Function addColumns(ByVal dgv As DataGridView)
dgv.Columns.Add("01", 1)
End Function
然后无需声明任何obj对象。直接使用该功能。
test.addColumns(DataGridView1)
答案 1 :(得分:0)
将Dim obj As test
更改为
Dim obj as New test
您只声明了对象但未初始化。因为当您调用addColumns
方法时obj为null,您将收到
对象引用未设置为对象的实例。