Как обрабатывать события на динамически загруженном пользовательском элементе управления? - PullRequest
2 голосов
/ 20 июня 2011

У меня есть пользовательский элемент управления, который загружается динамически.Когда пользователь сохраняет данные, нажимая кнопку Сохранить, событие повышается.

Public Sub RaiseCloseEvent(ByVal sender As Object, ByVal e As System.EventArgs)
    RaiseEvent Close(sender, e)
    Debug.Print(String.Format("The control {{0}} was closed by {{1}}.", Me.Name, sender.ToString))
End Sub

В кнопке сохранения я вызвал RaiseCloseEvent следующим образом:

RaiseCloseEvent(sender, e)

Теперь, как мне закрыть форму управления пользователя?Любая идея?Я использовал язык VB.Net.

Ответы [ 2 ]

1 голос
/ 20 июня 2011

Попробуйте это

Me.Parent.Parent.Controls.Remove(Me.Parent)

если ваш элемент управления добавлен в элемент управления на вкладке.

или

Me.Parent.Controls.Remove(TryCast(Me,UserControl))
0 голосов
/ 20 июня 2011

попробуйте это:

-> Получите родительский элемент управления, давайте предположим, что это панель с именем pnlParent
-> Получить индекс пользовательского элемента управления в этом родительском элементе

UserControl uc = (UserControl) pnlParent.children.Controls[index]
uc.Dispose()
pnlParent.children.Controls[index].Remove()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...