2014-03-27 114 views
1

我會盡力解釋。我在我的主窗口中有一個從SQL中提取數據並將其加載到數據網格中的Sub。從第二個窗口在主窗口中運行Sub

我有第二個窗口,通過點擊按鈕打開。當第二個窗口關閉時,我想讓數據網格的Sub運行。

我試過在我說Me.Close()後引用datagrid Sub,但我得到「引用非共享成員需要對象引用。」

我不能共享子,因爲我然後得到錯誤「無法從共享方法中引用一個類的實例成員......」

我也嘗試了WINDOW_CLOSED事件處理程序,這也給了我「引用非共享成員需要一個對象引用。」當我參考datagrid

任何任何想法?

回答

0

您需要在您的第二個窗口的FormClosing事件的MainWindow中附加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 
+0

採用第二種方式,歡呼的人! – user3470664

+0

@ user3470664很高興爲您服務 –

相關問題