[英]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
是一个DataGridView
而dt
是一个DataTable
。 如果您在代码中创建了一个或两个,请确保使用New
关键字或使用实际数据对其进行初始化。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.