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你明白了。把它作为一个答案贴出来,我会接受的文森特有一个很好的答案,这不是偷窃…它是有效的