- •Visual Basic .Net
- •Visual Basic .Net
- •Visual c#
- •314 Создание элементов управления с помощью .Net Framework Глава 7
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •Visual c#
- •Visual Basic .Net
- •2. В окне New Project выберите шаблон Windows Application, назовите новый про-
- •3. В меню Project выберите команду Add New Item — откроется одноименное диа-
- •4. В диалоговом окне Add New Item выберите Custom Control, назовите новый эле-
- •5. В окне Solution Explorer щелкните правой кнопкой элемент управления Pretty-
- •1. В окне редактора кода поместите в начало кода следующие операторы, импор-
- •Visual c#
- •Visual Basic .Net
Visual Basic .Net
<ToolboxBitmap("C:\Pasta.bmp")> Public Class PastaMaker
1 Реализация опущена.
End Class
Visual c#
[ToolboxBitmap(@"C:\Pasta.bmp")]
public class PastaMaker : Control
{
// Реализация опущена.
> Как назначить элементу управления значок на основе его типа
Добавьте к объявлению класса элемента управления атрибут ToolboxBitmapAttribute
со ссылкой на тип данного элемента управления:
Visual Basic .Net
<ToolboxBitmap(GetType(Button))> Public Class myButton
' Реализация опущена.
End Class
Visual c#
[ToolboxBitmapftypeof (Button))]
public class myButton : Button
{
// Реализация опущена.
Отладка элементов управления
В цикле разработки любого компонента рано или поздно наступает этап отладки, и
элементы управления тут не исключение. Поскольку они не являются проектами,
для отладки их необходимо поместить в специальный проект Windows Forms,
Перед тестированием элемента управления его необходимо скомпилировать.
После компоновки проекта, в котором находится ваш элемент управления, его мож-
но помешать на формы и отлаживать, как обычно.
о*з9 Создание элементов управления с помощью .MET Framework Глава 7
О<3& ' г _^____^____. _.
Если ваш элемент управления является частью проекта исполняемого компо-
нента, например приложения Windows Forms, для ето тестирования следует доба-
вить к проекту новую форму, а если элемент управления входит в проект библиоте-
ки классов или элементов управления, придется добавить к решению дополнитель-
ный проект.
> Отладка элемента управления в проекте Windows Forms
1. Выполните компоновку решения, выбрав в меню Build команду Build Solution.
2. При необходимости добавьте в проект новую форму и сделайте ее начальной
формой проекта.
3. Добавьте элемент управления на форму через графический интерфейс либо про-
граммно. В первом случае сначала добавляют элемент управления на панель
Toolbox, чтобы с ним было проше работать в период разработки (см. выше),
4. Запустите приложение, нажав F5, — теперь можно приступать к отладке эле-
мента управления: установите точки прерывания, применяйте пошаговое испол-
нение и другие отладочные средства, позволяющие находить ошибки в коде.
5. Исправив ошибки, перекомпилируйте элемент управления, чтобы внесенные в
его код изменения вступили в силу. Для этого выберите в меню Build команду
Rebuild Solution.
k Отладка элемента управления в проекте библиотеки классов
или элементов управления
1. Выполните компоновку решения, выбрав в меню Build команду Build Solution.
2. В меню File выберите команду Add Project\New Project, чтобы добавить к реше-
нию новый проект, — откроется диалоговое окно Add New Project.
3. В диалоговом окне Add New Project выберите Windows Application, дайте проек-
ту имя и щелкните ОК.
4. В окне Solution Explorer щелкните правой кнопкой мыши узел нового проекта
References и выберите из контекстного меню команду Add Reference — откроет-
ся диалоговое окно Add Reference.
5. Перейдите на вкладку Projects. Если проект, содержащий элемент управления,
указан на этой вкладке, выделите его и щелкните (Ж, в противном случае щел-
кните кнопку Browse и найдите папку с DLL-файлом проекта, в котором нахо-
дится отлаживаемый элемент управления. Выделите его и щелкните ОК.
6. Добавьте элемент управления на форму через графический интерфейс либо про-
граммно. В первом случае иногда сначала приходится добавить элемент управ-
ления на панель Toolbox, упростить работу с ним в период разработки (см,
выше).
7. Запустите приложение, нажав F5 — теперь можно приступать к отладке элемен-
та управления: установите точки прерывания, примените пошаговое исполне-
ние и другие отладочные средства, позволяющие находить и устранять ошибки в
коде.
Управление лицензированием элементов управления
В .NET Framework имеется встроенная поддержка управления лицензированием
элементов управления. Лицензирование элементов управления позволяет их созда-
телям защитить свою интеллектуальную собственность: предоставить доступ к сво-
им элементам управления только авторизированным разработчикам. Модель лицеи-
Занятие 3 Решение типичных задач 333
зирования, принятая по умолчанию, требует, чтобы все лицензируемые элементы
управления были помечены атрибутом License Provider Attribute, указывающим объект License
Provider-- он необходим для проверки подлинности лицензии. License Provider —
это абстрактный класс, предоставляющий стандартный интерфейс проверки под-
линности. В конструкторе элемента управления следует вызвать метод LicenseManager.
Validate, чтобы получить ссылку на действительную лицензию. Если лицензия
на элемент управления отсутствует, его загрузка закончится неудачей.
Метод License Manager. Validate вызывает метод GetLicense заданного объекта
License Provider, который извлекает лицензию и проверяет ее при помощи метода
Is Key Valid объекта LicenseProvider. Если IsKey Valid возвращает true, то лицензия счи-
тается действительной, в противном случае этот элемент управления не загружает-
ся. Применяемая схема проверки зависит от реализации LicenseProvider. .NET- ре-
ализация класса LicenseProvider называется Lie File License Provider. Если этот класс
задан как LicenseProvider, он применяется для проверки лицензии. Метод GetLicense
этого класса ищет в каталоге с DLL-файлом элемента управления текстовый файл с
именем FuliName.LIC, где FullName — полное имя элемента управления. Затем
Is Key Valid проверяет наличие в первой строке текстового файла подстроки ≪my Class-
Name is a licensed component≫, где myClassName — полное имя компонента. Разра-
ботчик волен заменить этот алгоритм проверки собственным, переопределив соот-
ветствующие методы. В каждом лицензируемом элементе управления должен быть
метод Dispose, который следует вызывать для освобождения ресурсов, связанных с
проверкой лицензии.
Вот пример лицензируемого элемента управления Widget, использующего про-
верку с помощью класса Lie File License Provider.