我无法从一个表单更新另一个表单;详细地: 我使用表单模板以编程方式创建表单
Dim FormVendor As New FormTempSint
在这种形式中,有一个label计数器和一个datagridview,其中包含通过查询从数据库获取的数据。双击 datagridview 的一行,我打开另一个表单以获取详细信息,也以编程方式使用
Dim FormVendorDetail As New FormTempDetail
从这个表单中,我修改了供应商值,当使用“保存”按钮保存时,我想在关闭第二个表单之前更新第一个表单的 datagridview。我无法使用 showdialog 方法,因为第二个窗口不能是模态的。
如何从 FormVendorDetail 更新 FormVendor 控件?
就像任何其他对象一样,在感兴趣的事情发生时处理要通知的适当事件,然后从属性和/或方法中获取感兴趣的数据。
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