从第二个窗口在主窗口中运行Sub

时间:2014-03-27 23:14:07

标签: wpf vb.net datagrid

我会尽力解释。我在主窗口中有一个Sub,它从SQL中提取数据并将其加载到数据网格中。

我有第二个窗口,通过按钮点击打开。当第二个窗口关闭时,我想要数据网格的Sub运行。

在我说Me.Close()后我试图引用datagrid Sub但是我得到“引用非共享成员需要一个对象引用。”

我无法共享sub,因为我接收到错误“无法从共享方法中引用类的实例成员...”

我还尝试了一个Window_Closed事件处理程序,这也给了我“引用非共享成员所需的对象引用”。当我引用datagrid时

有人有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您需要在MainWindow中为第二个窗口的FormClosing事件附加一个EventHandler,或者使用ShowDialog方法显示您的第二个表单,并在表单关闭后运行您的方法。这样的事情应该有效。

第一种方法

Private Sub Button_Click(sender As Object, e As RoutedEventArgs)
    Dim secondWindow As New Window1
    AddHandler secondWindow.Closing, AddressOf SecondWindowClosing
    secondWindow.Show()
End Sub

Private Sub SecondWindowClosing(sender As Object, e As ComponentModel.CancelEventArgs)
    'Run your data method here
End Sub

第二种方法

Private Sub Button_Click(sender As Object, e As RoutedEventArgs)
    Dim secondWindow As New Window1
    secondWindow.ShowDialog()
    'Run your data method here

End Sub