Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тема 12. Рисование.doc
Скачиваний:
43
Добавлен:
02.04.2015
Размер:
324.1 Кб
Скачать

Visual Basic .Net

' Этот пример предполагает наличие оператора Imports System.ComponentModel,

' Это атрибут LicenseProvider, указывающий тип применяемого LicenseProvider,

<LicenseProvider(GetType(LicFileLicenseProvider})> Public Class

Widget

Inherits Control

Private myLicense As License

Public Sub New()

' Проверить лицензию и получить ссылку на нее.

myLicense = LicenseManager,Validate(GetType(Widget), Me)

Остальной код конструктора опущен.

End Sub

Это метод Dispose, освобождающий ресурсы, связанные с проверкой лицензии.

Protected Overloads Overrides Sub

Dispose(ByVal Disposing As Boolean)

If Not (myLicense Is Nothing) then

niyLicense.DisposeO

myLicense = Nothing

End If

End Sub

End Class

334 Создание элементов управлений с помощью -NET Framework Глава 7

Visual C#

// Этот пример предполагает наличие оператора Imports System.ComponentModel.

// Это атрибут LicenseProvider, указывающий тип применяемого LicenseProvider.

[LicenseProvider(typeof(LicFileLicenseProvider)}]

public class Widget : System.Windows.Forms.Control

private License myLicense;

public Widget()

// Проверить лицензию и получить ссылку на нее.

myLicense = LicenseManager.Validate(typeof(Widget)T this);

// Остальной код конструктора опущен.

// Это метод Dispose, освобождающий ресурсы, связанные с проверкой лицензии.

protected override void Dispose(bool Disposing)

if (myLicense !- null)

myLicense.Dispose(};

myLicense = null;

}

\

> Реализация управления лицензированием элемента управления

1. Укажите класс LicenseProvider, добавив к объявлению класса атрибут License-

Provider A (tribute.

2. Создайте файл License, требуемый выбранным классом LicenseProvider,

3. В конструкторе элемента управления вызовите метод LicenseManager. Validate для

проверки лицензии.

4. Освободите ресурсы, занятые проверкой лицензии, вызвав метод Dispose элемен-

та управления.

Загрузка элемента управления в Internet Explorer

Любой элемент управления Windows Forms можно загрузить в Internet Explorer. Это

позволяет обогащать HTML-страницы широкими возможностями таких элементов

управления. Из этого раздела вы узнаете, как это проделать.

Чтобы загрузить элемент управления в Internet Explorer, он должен располагать-

ся в кэше глобальных сборок (Global Assembly Cache, GAC) либо в одном виртуаль-

ном каталоге с HTML-страницей, в которой он объявлен.

Примечание Об установке классов в GAC рассказывается в главе 9.

Для объявления элементов управления Windows Forms в HTML-страницах слу-

жит тэг <OBJECT>, который приказывает вставить в страницу компилированный

объект. Тэг <OBJECT> определяет тип загружаемого объекта по его свойству ciassid,

поэтому можно задать загружаемый элемент управления Windows Forms через это

свойство.

Занятие 3 Решение типичных задач ддд

Свойство classid элемента управления Windows Forms состоит из двух частей:

пути к файлу элемента управления и его полного имени, разделенных знаками ≪#≫.

Ниже показан пример тэга <OBJECT>, объявляющего элемент управления с пол-

ным именем ControlLibraryl.myControl, извлекаемый из файла ControlLibraryl.dll,

который расположен в одном виртуальном каталоге с HTML-страницей:

<OBJECT id="myControl"

classid="http:ControlLibrary1.dllflControlLibrary1.myControl

VIEWASTEXT>

</OBJECT>

> Загрузка элемента управления в Internet Explorer

1. Запишите DLL-файл элемента управления в виртуальный каталог HTML-стра-

ницы, в которой он объявлен, или установите его в GAC.

2. Добавьте к HTML-странице тэг <OBJECT> с соответствующим значением classid.

Свойство classid элемента управления включает путь к его DLL-файлу и пол-

ное имя, разделенные знаком ≪#≫.

Резюме

• Чтобы добавить элемент управления на панель Toolbox, щелкните ее правой

кнопкой мыши и выберите из контекстного меню команду Customize Toolbox —

элемент управления появится на панели инструментария Toolbox, ему будет на-

значен значок по умолчанию. Чтобы назначить элементу управления другой зна-

чок, воспользуйтесь атрибутом ToolboxBitmapAttribute.

• Для отладки элемента управления его необходимо сначала скомпилировать и

разместить на форме. Если отлаживаемый элемент управления входит в испол-

няемый проект, для тестирования к проекту необходимо добавить новую фор-

му, в противном случае следует добавить тестовый проект. После этого для от-

ладки элемента управления можно использовать обычные отладочные средства

Visual Studio. Исправив ошибки, необходимо перекомпилировать элемент уп-

равления, чтобы изменения вступили в силу.

• .NET Framework поддерживает модель лицензирования элементов управления.

Чтобы задействовать ее, укажите класс License Provider, добавив к классу элемен-

та управления атрибут Lie File License Provider, затем вызовите метод License Manager.

Validate, чтобы получить ссылку на лицензию. Закончив, освободите ресур-

сы, занятые проверкой лицензии.

• Чтобы загрузить элемент управления в Internet Explorer, объявите его с помо-

щью тэга <OBJECT>. Тэг <OBJECT> проверяет указанное в нем значение свой-

ства classid, чтобы определить загружаемый элемент управления.

336

Практикум 7. Создание нестандартного

элемента управления

Ваша задача— создать нестандартный элемент управления PreityClock,

отображающий на форме красиво оформленные часы. Вы напишете реа-

лизацию и код, визуализирующий этот элемент управления, а также доба-

вите в его конструктор код, инициализирующий свойства этого элемента

управления. В завершение вы протестируете созданный элемент управле-

ния. Решение задач этого практикума находится в папке \Labs\Ch07\

Solution на прилагаемом к книге компакт-диске.

Прежде всего

Для выполнения этого практикума предварительная подготовка не требуется.

Продолжительность практикума - около 30 минут.

Упражнение 1. Создание элемента управления

Сейчас вы создадите нестандартный элемент управления PrettyClock. Он

относится к формируемым элементам управления, поскольку вы объяви-

те его на основе класса Control, самостоятельно напишете код, отвечаю-

щий за визуализацию этого элемента управления, и откроете доступ к

свойствам, управляющим его обликом. В завершение вы добавите таймер,

чтобы наши часы могли служить по прямому назначению.

* Создание проекта

1. В меню File выберите команду New\Project откроется диалоговое окно New

Project.