Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在VB.NET窗体之间传递数据_Vb.net_Variables_Dialog - Fatal编程技术网

在VB.NET窗体之间传递数据

在VB.NET窗体之间传递数据,vb.net,variables,dialog,Vb.net,Variables,Dialog,我有一个表单,它有一个按钮,点击它会弹出一个对话框表单。在此对话框表单中,用户需要选择一些数据,当用户完成后,他们单击“确定”按钮。单击OK按钮后,需要将整数返回到上一个表单 我创建了一个对话框表单,并尝试通过以下代码调用它: Dim intResult as Integer = frmData.ShowDialog() Debug.Writeline(intResult) 但是,似乎我只能返回DialogResults(中止、取消、忽略…) 我想知道如何在不必创建公共变量并将结果存储在其中

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

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

Dim intResult as Integer = frmData.ShowDialog()

Debug.Writeline(intResult)
但是,似乎我只能返回DialogResults(中止、取消、忽略…)


我想知道如何在不必创建公共变量并将结果存储在其中的情况下尝试此操作。

在对话框窗体上创建事件,在主窗体上订阅事件,并在对话框中使用事件参数中包含的适当数据将其提升。

在对话框中创建一个将返回该值的属性

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

在项目中创建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