【发布时间】:2019-04-11 21:02:43
【问题描述】:
我有我的表格 1,当我单击一个按钮时,它会打开我的表格 2。我想在第二个表格中介绍一些信息,以便更新第一个表格。 我试过这个:
Public class Form2
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
... {some code here}
Form1.Refresh()
Me.Close()
End Sub
End Class
但这并没有刷新我的表单1。我知道我可以关闭第一个表单并再次打开它,但我不假装那样。 有没有其他方法可以做到这一点?
【问题讨论】:
-
您认为
Refresh方法到底有什么作用?它不会神奇地知道从数据库或文件或其他任何东西中获取数据。或许您应该解释一下Form2的实际作用以及您希望在Form1中发生的具体情况。我的猜测是您在Form1的网格中有数据,并且您对Form2中的数据库进行了更改,并期望Form1反映这些更改。我这么说是因为初学者在完全错误的情况下这样做是很常见的。在这种情况下,您应该首先在Form1中进行更改,然后将它们从那里保存到数据库中。 -
@jmcilhinney 你好。是的,但我假装那样。在对第二种形式进行一些更改后,我想“运行”第一种形式的代码。
-
如果你想执行一些代码,那么你需要执行那个代码。调用
Refresh不会这样做,你不应该简单地假设它会这样做。 -
@jmcilhinney 是的,但我如何从另一个表单执行它?
-
您通常如何在对象中执行代码?你调用一个方法。它必须是一个实际包含你想要执行的代码的方法。 Refresh 不包含此类代码,因此它不会神奇地执行此类代码。