从一个表单更新另一个表单

问题描述 投票:0回答:1

我无法从一个表单更新另一个表单;详细地: 我使用表单模板以编程方式创建表单

Dim FormVendor As New FormTempSint
在这种形式中,有一个label计数器和一个datagridview,其中包含通过查询从数据库获取的数据。双击 datagridview 的一行,我打开另一个表单以获取详细信息,也以编程方式使用
Dim FormVendorDetail As New FormTempDetail
从这个表单中,我修改了供应商值,当使用“保存”按钮保存时,我想在关闭第二个表单之前更新第一个表单的 datagridview。我无法使用 showdialog 方法,因为第二个窗口不能是模态的。

如何从 FormVendorDetail 更新 FormVendor 控件?

vb.net winforms
1个回答
0
投票

就像任何其他对象一样,在感兴趣的事情发生时处理要通知的适当事件,然后从属性和/或方法中获取感兴趣的数据。

Private Sub OpenOtherForm()
    Dim frm As New SomeOtherForm

    AddHandler frm.FormClosed, AddressOf SomeOtherFormClosed

    frm.Open()
End Sub

Private Sub SomeOtherFormClosed(sender As Object, e As EventArgs)
    Dim frm = DirectCast(sender, SomeOtherForm)

    RemoveHandler frm.FormClosed, AddressOf SomeOtherFormClosed

    Dim data = frm.GetTheData()

    'use data here.
End Sub
© www.soinside.com 2019 - 2024. All rights reserved.