好的,我正在尝试使用重载构造函数方法将数据从一个表单传递到另一个表单。我可以使用公共变量或属性,但是想使用重载方法。
以下是我的第一个表单中的代码部分,它调用第二个表单...
Private Sub dgvAllWO_CellDoubleClick(sender As Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgvAllWO.CellDoubleClick
Dim I As Integer
I = dgvAllWO.Rows(e.RowIndex).Cells.Item(0).Value
Dim frmWO(I) As New frmWorkOrder
End Sub
这里我有其他形式的代码......
Public Class frmWorkOrder
Public Sub New(ByVal ID As Integer)
InitializeComponent()
End Sub
Public Sub New()
InitializeComponent()
End Sub
End Class
执行此操作后,我现在在第一张表单上的这行代码中出现“NEW”错误。
Dim frmWO(I) As New frmWorkOrder
错误1无法使用“新建”
声明数组为什么会这样?重载构造函数后,我的表单类变成了数组?我不知道这里发生了什么。我很感激你能给我任何帮助或指导。提前谢谢。
答案 0 :(得分:0)
在VB中,New是构造函数,因此您需要将值传递给构造函数,如下所示:
Dim frmWO As New frmWorkOrder(I)
如果frmWO是一个数组,那么像这样:
frmWO(I) = New frmWorkOrder(I)
答案 1 :(得分:0)
这一行:
Dim frmWO(I) As New frmWorkOrder
应该是
Dim frmWO As New frmWorkOrder(I)