通过重载构造函数将数据从一个表单传递到另一个表单

时间:2013-06-07 14:10:04

标签: vb.net visual-studio-2010 vb.net-2010

好的,我正在尝试使用重载构造函数方法将数据从一个表单传递到另一个表单。我可以使用公共变量或属性,但是想使用重载方法。

以下是我的第一个表单中的代码部分,它调用第二个表单...

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无法使用“新建”

声明数组

为什么会这样?重载构造函数后,我的表单类变成了数组?我不知道这里发生了什么。我很感激你能给我任何帮助或指导。提前谢谢。

2 个答案:

答案 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)