无法使用类中的方法在visual basic.net中以编程方式将列添加到datagridview

时间:2014-02-22 04:51:46

标签: vb.net datagridview datagridviewcolumn

我想在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

我的代码有什么问题?,有任何方法可以解决此错误。 请帮帮我......

2 个答案:

答案 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,您将收到

  

对象引用未设置为对象的实例。