将值从模态形式传递给父窗体vb.net

Koo*_*bin 4 vb.net modal-dialog pass-by-reference

我试图从vb.net winforms应用程序中的模态形式将信息传递给父表单.

1.)我创建了一个表单的副本,并使用以下代码显示它.

dim f=new frmParent()
f.show()
Run Code Online (Sandbox Code Playgroud)

2.)根据条件,frmParent上的按钮打开一个模态子表单并询问一些信息.我用了以下代码:

dim f = new ChildForm()
f.showDialog()
Run Code Online (Sandbox Code Playgroud)

两个代码都正常.当用户按子窗体保存时,我需要关闭childForm并使用父窗体中的用户类型值.我知道如何关闭子窗体但不知道如何将信息从子窗体传递到父窗体.

Dav*_*ele 8

在您的childForm上有一个公共财产

Public Property MyData As MyType
Run Code Online (Sandbox Code Playgroud)

然后,当您显示表格时,您可以这样做

dim f as new ChildForm()

If f.showDialog = DialogResult.OK Then
   Data = f.MyData()
End if
Run Code Online (Sandbox Code Playgroud)

如果您需要允许它们再次编辑该数据,那么您可能还需要考虑将数据传递给对话框的构造函数.

  • 好消息.您仍然可以访问表单公共属性,直到表单变量(在本例中为f)超出范围. (2认同)