Целесообразность композитного элемента управления

вы можете инкапсулировать расположение и

В сценарии такого рода целесообразность композитного элемента управления, производного от UserControl, представляется очевидной. Вы можете инкапсулировать расположение и обработку событий от группы элементов управления в своем специальном композитном элементе управления, а затем добавить его при надобности на любую форму или несколько форм. Вам придется сопровождать всего одну логическую единицу кода, и у вас будет развитая поддержка конструктора для создания элемента управления и добавления его к другим формам. См. пример реализации специального пользовательского элемента управления в разделе «Создание специального пользовательского элемента управления» настоящего приложения. Формы имеют специфический период жизни, с которым вам необходимо познакомиться. Как и все классы в. NET, формы и элементы управления имеют конструктор, где вы будете размещать основную часть инициализации элементов класса и дочерних элементов управления. Формы и элементы управления следуют модели. NET, реализуя интерфейс IDisposable, который предусматривает для клиентов класса единообразный способ сообщить классу, что они закончили с ним работать, позволяя ему, таким образом, освободить любые автономные ресурсы, которые он содержит. В формах и элементах управления имеется реализация базового класса для метода Dispose, которую вы можете переопределить, чтобы предусмотреть любой специальный код очистки для автономных ресурсов, которые может инкапсулировать ваша форма. Если вы переопределяете метод Dispose, этот код будет вызываться Framework при закрытии формы. Вы никогда не должны забывать вызвать реализацию Dispose вашего базового класса, чтобы дать ему возможность освободить те ресурсы, которые он инкапсулирует. Файл кода конструктора Windows Forms в Visual Studio 2005 содержит переопределение метода Dispose, и если вам нужно гарантировать, что ваши собственные элементы-переменные уничтожаются, вам нужно будет добавить соответствующий код в этот метод в файле кода конструктора.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *