【问题标题】:Refresh an opened form vb.net刷新打开的表单 vb.net
【发布时间】: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 不包含此类代码,因此它不会神奇地执行此类代码。

标签: vb.net forms refresh


【解决方案1】:

根据您提供的输入,您应该以第一种形式再次从数据库中获取数据。刷新方法/事件处理程序与表单加载方法不同。您需要再次调用负责从数据库中获取数据的方法/代码。

【讨论】:

  • 答案必须包含问题的解决方案。如果您想澄清问题,请在问题中添加评论。
  • @andreas charidemou 你好。是的,正在保存一些数据。然后,我想刷新第一个表单,以便它可以检查数据库中的新信息。
  • 你是否再次调用负责从数据库中获取数据的方法?刷新方法/事件处理程序与表单加载方法不同。您需要再次调用负责从数据库中获取数据的方法/代码。
  • @jmcilhinney 除非我添加答案,否则我还没有添加评论的特权。我不知道这是否是一个错误,但我首先尝试添加评论并且不允许我这样做。
  • 这应该是评论,而不是答案。
猜你喜欢
  • 2015-08-12
  • 1970-01-01
  • 2015-07-06
  • 2018-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-04-11
相关资源
最近更新 更多