Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Языки программирования -> Ватсон К. -> "С#" -> 177

С# - Ватсон К.

Ватсон К. С# — Лори, 2005 . — 879 c.
ISBN 1-861004-98-2
Скачать (прямая ссылка): vatsonc2005.pdf
Предыдущая << 1 .. 171 172 173 174 175 176 < 177 > 178 179 180 181 182 183 .. 404 >> Следующая


Управляющие элементы ActiveX (например, использующиеся в Visual Studio 6) находятся в специальном файле с расширением осх. На самом деле, такой файл представляет собой COM DLL. В .NET управляющие элементы существуют в таком же виде, что и любой произвольный модуль, поэтому расширение осх исчезло, а управляющие элементы существуют в виде обычных DLL.

Пользовательские управляющие элементы наследуются от класса uaerConcroi. Это базовый класс предоставляет вновь создаваемому элементу все базовые возможности, которыми должен обладать управляющий элемент в .NET — на долю программиста остается только создание самого элемента, В качестве управляющего элемента может создаваться все, что угодно, начиная от надписи с каким-либо оригинальным дизайном и до занимающего весь экран табличного управляющего элемента (см. рис. слева).

В отличие от пользовательских элементов, специально создаваемые управляющие элементы обычно являются производными от юiacca control, а не от класса usercontroi.
Дополнительные возможности Windows Form

3 75

При работе с управляющими элементами следует принимать ряд положений как должное, и еслн создаваемый вами элемент не отвечает им, то высока вероятность того, что такой элемент не будет использоваться другими пользователями. Вот эти критерии:

? Поведение управляющего элемента в период разработки должно как можно точнее соответствовать поведению этого управляющего элемента в период выполнения. Это означает, что еслн элемент состоит нз надписи и текстового окна н называется LabelTextbox, то и надпись, н текстовое окно, н вводимый для надписи текст должны быть видимыми в процессе разработки. Хотя в приведенном выше примере это не представляет никаких трудностей,

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

? Необходимо обеспечить логический доступ к свойствам управляющего элемента из формы, используемой для разработки. Хорошим примером здесь может служить элемент imageList, который представляет диалоговое окно, позволяющее осуществлять поиск рисунков

для включения в элемент, а также выводящее в диалоговом режиме список импортированных рисунков.

Ннже рассматривается процесс создания управляющих элементов на конкретном примере. Мы создадим элемент LabelTextbox н продемонстрируем основы создания проекта по разработке пользовательского управляющего элемента, его свойств и событий н отладке управляющего элемента.

Практикум: пример создания управляющего элемента LabelTextbox

Как следует из самого названия элемента, для создания нового элемента в нем используются два уже существующих, что позволяет за один шаг максимально просто решить задачу, которая довольно часто возникает при программировании в Windows: добавить к форме надпись, далее добавить к той же самой форме текстовое окно, а затем определить местоположение этого окна относительно надписи. Посмотрим, чего может ожидать от такого элемента пользователь:

? Возможность размещать текстовое окно как справа от надписи, так и под надписью. Еслн текстовое окно располагается справа от надписи, то должна быть возможность задавать фиксированное расстояние между левым краем управляющего элемента и текстовым окном, для того чтобы расположить несколько текстовых окон

одно под другим.

? Обычные свойства и событий текстового окна н надписи, которые доступны в обычном режиме.

Поставленная задача понятна — самое время запустить Visual Studio и создать новый проект:

1. Создайте новый проект C# в Visual Studio. Выберите проект с названием Windows Control Library. Назовите вновь создаваемый проект LabelTextbox (см. след. рнс.).
376

Глава 14

ТвтрЫмГ

fn в

'__| Vicuai Bjmc f'loftc'U

•¦JlViwtfCBPfcwfits

| Vrtod l * * Prcjecl»

Cj S«*4? DetJcvBfcrt. Project* >1 uj Dtfw Pw»e«*

‘ Lj Viimj Uinfc) SoUiont

A^ujs^t I» ?¦ahnj i^'ilidi |q ыа n V/tidana ,/J зр*л . |с.аМТе*$юх

Lgfji^r |C^^0*jiKh*fi^Cl4iS*al 4

Г f* СЬм^чидп ^ .

r'vm be pUUid * L-*4^fsCS^V0lNri|fl44Ubin м«Ьсл.

*MofB I f ZH I

та ?3 1Ы
Wndnw Аейнйи Оля Ljb«y WSniiH-. Conud a/
% §<3
ASP,WET ASP.NET W06 Dpnti
Wob Ар WebSevitt Hu**

¦3

Вюмв.-

r^=s

H<*

Программа разработки форм представляет рабочую поверхность, которая несколько отличается используемой до сих пор.

Во-первых, ее площадь оказывается существенно меньше, чем обычно,

а, во-вторых, она вообще не выглядит как диалоговое окно. Это не должно обескураживать вас никоим образом — все работает в нормальном режиме. Основное отличие заключается в том, что там, где мы до сих пор размещали управляющие элементы на форме,

UseiContfol1.es [Des п]


Q . . . p . . . . ,U

¦t ¦
p. ; ; .:
f;
l) . ¦ O:

теперь будем создавать управляющий элемент, чтобы затем поместить его на форму (см. рис. справа),

Щелкните мышью на рабочей поверхности, и вы увидите свойства управляющего элемента.

Измените имя элемента на ctiLabeiTextaox.

Щелкните два раза мышью на надписи в окне с инструментами и перенесите ее в форму. Измените ее ИМЯ На lblTextbox, Присвойте СВОЙСТВУ Text значение Label. Присвойте свойству AutoSize значение true. Это приведет к тому, что размеры надписи будут определяться в соответствии с размерами текста.
Предыдущая << 1 .. 171 172 173 174 175 176 < 177 > 178 179 180 181 182 183 .. 404 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.