Добавление пользовательского элемента управления в контейнер
Я использую Microsoft Visual Studio для создания приложения Windows Form. **Я не знаю, как мне следует добавлять свои пользовательские элементы управления в свою форму.** я видел много примеров того, как вы можете это сделать, но мне еще предстоит найти ответ, который учитывает производительность, по крайней мере, это то, во что я верю.
Здесь приведены два метода, которые я использовал:
1. **UserControl.Visible = True / False**
Один из наиболее распространенных методов, которые я видел, - это поместить пользовательский элемент управления в форму и установить видимость в False. Всякий раз, когда пользовательский элемент управления должен быть видимым, вы просто устанавливаете Visible в True. Я лично считаю, что это очень плохой способ обработки пользовательских элементов управления. Это может стать очень дезориентирующим, когда у вас есть много элементов управления в вашей форме. *Это метод, которым меня учили пользоваться.*
Код может выглядеть примерно так:
' User Control is already placed in the Form and Visibility is set to False Public Class Form_Main ' Button to make User Control Visible Private Sub Button_Visible_Click(sender As Object, e As EventArgs) Handles Button_Visible.Click UserControl_1.Visible = True End Sub End Class
2. **Динамическая Загрузка Пользовательского Элемента Управления ""**
Динамическая загрузка пользовательского элемента управления подразумевает, что я добавляю его в контейнер (панель и т. д.)
Код может выглядеть примерно так:
Public Class Form_Main ' Instance User Control Public Shared UC_Main As New UserControl_Main ' On Form Load Private Sub Form_Main_Load(sender As Object, e As EventArgs) Handles MyBase.Load ' Add Main Menu Control Panel_Container.Controls.Add(UC_Main) End Sub End Class
**Вопрос о производительности и методе**
Какие методы добавления и удаления пользовательских элементов управления наиболее эффективны с точки зрения производительности?
Что я уже пробовал:
Я попробовал обе вышеперечисленные альтернативы, но все еще не знаю, как мне это сделать.