我会尽力解释。我在主窗口中有一个Sub,它从SQL中提取数据并将其加载到数据网格中。
我有第二个窗口,通过按钮点击打开。当第二个窗口关闭时,我想要数据网格的Sub运行。
在我说Me.Close()后我试图引用datagrid Sub但是我得到“引用非共享成员需要一个对象引用。”
我无法共享sub,因为我接收到错误“无法从共享方法中引用类的实例成员...”
我还尝试了一个Window_Closed事件处理程序,这也给了我“引用非共享成员所需的对象引用”。当我引用datagrid时
有人有什么想法吗?
答案 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