在对话框关闭之前,对话框中的属性永远不会设置?

时间:2017-01-31 18:21:20

标签: vb.net winforms

我打开一个带有2个按钮的对话框。这些按钮应将属性设置为值,然后关闭表单。我的主要形式应该抓住那个属性。每当我试图抓住它时,它总是空白的。

我的主要表格

    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

那么为什么我的财产没有被设定?

1 个答案:

答案 0 :(得分:1)

您的问题在这里:

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

您使用的是TubeSelectTo表单的default instance,而不是您创建的SelectNextForm个实例。

将其更改为:

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