В приложении winforms у меня есть форма настроек. Форма имеет элемент управления treview и панель управления. В зависимости от выбора пользователей в древовидной структуре я хочу загрузить/добавить usercontrol в панель управления. Когда я должен создавать/инициировать пользовательские элементы управления? На обработчике события загрузки формы или после выбора узла дерева? И должен ли я избавляться от пользовательских контролей в обработчике событий закрытия?Когда я запускаю и удаляю свои UserControls?
Это мой код:
public partial class Options : Form
{
//usercontrols
Connections _connections;
Notifications _notifications;
Proxy _proxy;
private void Options_Load(object sender, EventArgs e)
{
treeViewOptions.ExpandAll();
_connections = new Connections();
_notifications = new Notifications();
_proxy = new Proxy();
}
private void treeViewOptions_AfterSelect(object sender, TreeViewEventArgs e)
{
switch (treeViewOptions.SelectedNode.Name)
{
case "NodeConnection":
ControlPanel.Controls.Clear();
ControlPanel.Controls.Add(_connections);
break;
case "NodeNotifications":
ControlPanel.Controls.Clear();
ControlPanel.Controls.Add(_notifications);
break;
case "NodeProxy":
ControlPanel.Controls.Clear();
ControlPanel.Controls.Add(_proxy);
break;
}
}
}
Благодаря
Ok спасибо. Я создаю элементы управления в нужное время? Правильно ли создавать все элементы управления во время загрузки формы или я должен создавать их в своих избранных случаях? – Sam
Не было бы лучше избавиться от элементов управления в обработчике события закрытия формы? Поскольку элементы управления создаются в обработчике событий загрузки формы, это означает, что один и тот же элемент управления можно использовать, если пользователь переключается между узлами treview. С вашим решением я должен был бы создать новый экземпляр usercontrol каждый раз, когда пользователь выбрал новый узел treeview, который, несомненно, будет менее результативным? – Sam
При создании их на лету вы используете немного меньше системных ресурсов. Перф не должен быть заметно затронут. Стоимость находится в контрольной картине, создание дешево. Одна из особенностей поддержания их жизни и переключения между ними с помощью Hide/Show заключается в том, что все, что было введено в элементах управления, остается неизменным. Может быть желательно, не может, это зависит. –