В общем, это будет работать:
Me.SomeControl1.Dispose()
Me.SomeControl1 = New SomeControl
'Configure SomeControl1 here.
Me.Controls.Add(Me.SomeControl1)
где SomeControl1
- поле, созданное автоматически при добавлении элемента управления в форму во время разработки. Первая строка удаляет существующий элемент управления из формы, вторая строка заменяет существующий элемент управления новым элементом того же типа, а последняя строка добавляет новый элемент управления в форму. Вам необходимо установить соответствующие свойства нового элемента управления между ними, так что вы можете сохранить старый, чтобы получить требуемые значения свойств, например,
Dim newControl As New SomeControl
'Configure newControl here, e.g.
newControl.Location = Me.SomeControl.Location
Me.SomeControl1.Dispose()
Me.SomeControl1 = newControl
Me.Controls.Add(Me.SomeControl1)
Обратите внимание, что назначение нового элемента управления существующему полю автоматически соединит все обработчики событий с предложением Handles.
Тем не менее, тот факт, что вы используете довольно сложный пользовательский элемент управления, трудно сказать, могут ли быть и другие необходимые шаги.