Я пишу некий софт на VB .NET 2012 WinForms.
У главной формы есть метод LoadTree, который, как понятно из названия, загружает дерево (не важно откуда и как). Для упрощения обрежу код:
Public Delegate Sub LoadTreeDelegate()
Sub LoadTree()
tvMain.Nodes.Clear()
End Sub
При вызове из самой формы (по нажатию на кнопку или еще как-то) метод отрабатывает и дерево очищается.
Есть некий пользовательский элемент управления (также разрабатываемый мной), откуда через делегат я пытаюсь вызвать метод главной формы, чтобы перезагрузить дерево. Делаю это следующим образом:
Dim d As New frmMain.LoadTreeDelegate(AddressOf frmMain.LoadTree)
d.Invoke()
Судя по отладчику, метод выполняется (отладчик в него заходит при вызове делегата) и дерево должно быть очищено. Но этого не происходит - дерево остается в неизменном состоянии.
Можете подсказать, в какую сторону копать?