繁体   English   中英

C#到VB.net调用错误

[英]C# to VB.net Invoke error

嘿,我试图找出所有如何在VB.net中工作的代码。 我已经将其从C#转换为VB.net:

Dim dt As New DataTable()
Dim dr As DataRow

dt.Columns.Add("Name")
dt.Columns.Add("Number")

For Each item As KeyValuePair(Of String, String) In vCardReader.dicNumName
    dr = dt.NewRow()
    dr(0) = item.Value
    dr(1) = item.Key
    dt.Rows.Add(dr)
Next

Me.Invoke(New MethodInvoker(
 Sub()
          contactNameNumList.DataSource = dt
          contactNameNumList.AllowUserToResizeRows = False
          contactNameNumList.AllowUserToResizeColumns = False
          contactNameNumList.AllowUserToOrderColumns = False
          contactNameNumList.CellBorderStyle = DataGridViewCellBorderStyle.None
          contactNameNumList.Columns(0).Width = 30
          contactNameNumList.Columns(1).Width = contactNameNumList.Width / 2 - 25
          contactNameNumList.Columns(2).Width = contactNameNumList.Width / 2 - 25
End Sub))

但是,当我运行程序时,上面代码的错误是这样的:

你调用的对象是空的。

我该如何纠正该错误?

在此处输入图片说明

我该如何纠正该错误?

简短的答案可确保您的对象已初始化。 我假设contactNameNumList是一个DataGridViewdt是一个DataTable 如果您在代码中创建了一个或两个,请确保使用New关键字或使用实际数据对其进行初始化。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM