我打开一个带有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
那么为什么我的财产没有被设定?
答案 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