Vb.net 对话框中的属性在对话框关闭之前从未设置?

Vb.net 对话框中的属性在对话框关闭之前从未设置?,vb.net,winforms,Vb.net,Winforms,我打开一个有两个按钮的对话框。这些按钮应将属性设置为值,然后关闭窗体。然后,我的主窗体将获取该属性。每当我试图获取值时,它总是为空 我的主要形式 Using SelectNextForm As New TubeSelectTo() SelectNextForm.Focus() If TubeSelectTo.ShowDialog(currentWO, status) = Windows.Forms.DialogResult.OK Then

我打开一个有两个按钮的对话框。这些按钮应将属性设置为值,然后关闭窗体。然后,我的主窗体将获取该属性。每当我试图获取值时,它总是为空

我的主要形式

    Using SelectNextForm As New TubeSelectTo()
    SelectNextForm.Focus()
        If TubeSelectTo.ShowDialog(currentWO, status) = Windows.Forms.DialogResult.OK Then
             MessageBox.Show(SelectNextForm.numberOfBins)
        End If
对话

Private numberBins As String

Public Overloads Function ShowDialog(ByVal woID As String, ByVal currStatus As ResourceStatus) As DialogResult

    Return Me.ShowDialog()

End Function

Public ReadOnly Property numberOfBins() As String
    Get
        Return numberBins
    End Get
End Property

Private Sub btn1_Click(sender As System.Object, e As System.EventArgs) Handles btn1.Click
    numberBins = "1"
    DialogResult = Windows.Forms.DialogResult.OK
End Sub

Private Sub btn2_Click(sender As System.Object, e As System.EventArgs) Handles btn2.Click
    numberBins = "2"
    DialogResult = Windows.Forms.DialogResult.OK
End Sub
那么为什么没有设置我的属性呢?

您的问题是:

If TubeSelectTo.ShowDialog(currentWO, status) = Windows.Forms.DialogResult.OK Then
您使用的是
TubeSelectTo
表单的,而不是您创建的
SelectNextForm
实例

将其更改为:

If SelectNextForm.ShowDialog(currentWO, status) = Windows.Forms.DialogResult.OK Then

您还需要向我们展示
numberBins
声明。您是否在一个全新的项目中对此进行了测试?如果“对话”代码用于
TubeSelectTo
,则您要求的是一个不同于设置容器的表单(
SelectNextForm
)。此外,在该代码中,
numberBins
出现在nowhere@Plutonix你明白了。把它作为一个答案贴出来,我会接受的文森特有一个很好的答案,这不是偷窃…它是有效的