在VB.NET表单之间传递数据

时间:2011-01-24 22:19:23

标签: vb.net variables dialog

我有一个带有按钮的表单,点击它会弹出一个对话框表单。在此对话框表单中,用户需要选择一些数据,当用户完成后,单击“确定”按钮。一旦他们单击“确定”按钮,就需要将整数返回到上一个表单。

我创建了一个对话框表单并尝试通过以下代码调用它:

Dim intResult as Integer = frmData.ShowDialog()

Debug.Writeline(intResult)

然而,似乎我只能返回DialogResults(中止,取消,忽略......)

我想知道如何在不必创建公共变量并将结果存储在那里的情况下尝试这一点。

3 个答案:

答案 0 :(得分:4)

在Dialog上创建一个将返回值的属性。

If frmData.ShowDialog() Is Not DialogResult.Cancel
   Dim value as integer = frmData.MyProperty 
   ...
Endif

答案 1 :(得分:2)

在对话框表单上创建一个事件,在主表单上订阅它,然后在对话框中使用事件参数中包含的相应数据将其提升。

答案 2 :(得分:1)

为项目创建一个cutom对话框(添加/新元素/ Windows窗体/对话框)。 然后从中创建一个实例,调用showDialog并检查它的DialogResult是否是Windows.Forms.DialogResult.Ok。您可以访问其所有控件,例如:

Dim d As New Dialog1
Dim result As DialogResult = d.ShowDialog(Me)
If result = Windows.Forms.DialogResult.OK Then
    Dim selectedText As String = d.ComboBox1.SelectedText
End If