Программирование >>  Автоматически обновляемые приложения 

1 ... 66 67 68 [ 69 ] 70 71 72 ... 170


206 Глава 6

public class MyControl: Control {

. . .

. . .

Обратите внимание на три вещи. Первый параметр этого варианта конструктора класса TooiboxBitmapAttribute принимает объект Туре, который нужен только для того, чтобы определить сборку, в которой находится требуемый ресурс. Следовательно, это может быть любой тип, определенный в сборке проекта. Второй параметр конструктора чувствителен к регистру. Если файл значка находится в каталоге, отличном от каталога проекта (например, во вложенной папке) и этот файл был добавлен в проект через меню Open Link File (то есть без копирования в каталог проекта), то при указании имени изображения во втором параметре конструктора нужно добавить к названию файла имя папки через точку (например, images .One. ico ).

Создание собственного элемента управления SmoothProgressBar

в заключение мы приведем пример создания собственного элемента управления SmoothProgressBar, который будет ЯВЛЯТЬСЯ реализацией индикатора прогресса с собственным стилем, отличающимся от стандартного индикатора прогресса ProgressBar, который ВХОДИТ В состав .NET Framework. Данный пример основан на статье How to create а smooth progress bar in Visual C# 2005 or in Visual C# .NET из Базы Знаний Microsoft, которую вы можете найти по адресу http: support.microsoft.com/kb/323116/. В ранних версиях элемента управления ProgressBar Существовало два вида индикатора прогресса. Если у вас установлен пакет Visual Basic 6.0, то вы можете увидеть эти два различных стиля работы элементы. Запустите Visual Basic 6.0, выберите в меню Project Components... и в диалоговом окне Components выберите пункт Microsoft Windows Common Controls 6.0 (SP6), который добавит в проект группу элементов ActiveX, в число которых входит и ProgressBar (рис. 6.12).

Далее на панели инструментов найдите элемент ProgressBar и добавьте его на форму. В окне свойств у индикатора прогресса вы увидите свойство Scrolling, состоящее из двух значений- ccscroiiingstandart (Стандартный) и ccScrollingSmooth (ПлавНЫЙ).



Ccntrols Designers j Insertabfe Objects \

: Microsoft Visio Viewer 12.0 Type Ubrary Microsoft Voice Commands .Microsoft Voice Dictation Microsoft Voice Text

Microsoft WindovrfS Common Controls 5.0 (SP2 >. Microsoft Windows Common Controls 6.0 (SP6 ... Microsoft Windows Common Controls-2 5,0 (S Microsoft Windows Common Controls-2 6.0 Microsoft VVindov/s Common Contro!s-3 6,0 Microsoft Winsock Control 6,0 I MS Video Control LO Type Libra-y . MSFlexGrid Wizard , Msie ActiveX Control module < i >

L.

firovvse...

Г Selected Items Only

-Active Setup Control Libra r>........----------------------------------

Location: C: \VWJDaVs/S\system32\asctrls.ooJ

Отмена

Рис. 6.12. Диалоговое окно Components в Visual Basic 6.0

чщес61 - Microsoft Visual Basic [deiig-Гогт1 (FOrmjJ

Fife Edit

General

r ft-

view Project Format Debug Run Query Diagram lools fidd-lns Windmv Нф

П Ш CD

-is X

% % 1%


i - Projectl (Projectl)

I .- Forms

I Q. Forml (Formll

jProgressBari ProgressBar Alphabetic j Cetegorized

iOLEDropMode

0 - ccOLEDropNone л

lOrientation

0 - ccOnentationHorizontal

Scrolling

Returns/sets a value that determines ivhether the control displays progress with a standard segmented


Рис. 6.13. Два вида индикатора прогресса в Visual Basic

8 Зак 262



Создание элемента SmoothProgressBar

Но вернемся к Visual С# 2008. Платформа .NET Framework поддерживает только стандартный стиль для индикатора прогресса. Наша цель - разработать свой элемент управления, который будет поддерживать следующие свойства:

□ Minimum- СВОЙСТВО, позволяющее получать или устанавливать минимальное из допустимых значений индикатора прогресса. По умолчанию данное свойство будет установлено в 0. Использовать отрицательные значения в этом свойстве недопустимо;

П Maximum- СВОЙСТВО, позволяющее получать или устанавливать максимальное из допустимых значений индикатора прогресса. По умолчанию значение данного свойства равно 100;

П Value - это СВОЙСТВО получает или устанавливает текущее значение- индикатора прогресса. Значение этого свойства не должно выходить за диапазон, ограниченный свойствами Minimum и Maximum;

П ProgressBarCoior- ЭТО СВОЙСТВО получает ИЛИ устанавливает цвет полоски индикатора прогресса.

Опишем процесс создания собственного элемента управления

SmoothProgressBar ПО шагам.

1. Запустите Microsoft Visual Studio 2008.

2. В меню File выберите команды New Project.

3. В диалоговом окне New Project выберите раздел Visual С# Windows и в списке шаблонов выберите Windows Control Library.

4. В поле Name введите новое имя SmoothProgressBar И нажмите кнопку ОК.

5. В окне Project Explorer замените имя по умолчанию для модуля класса с UserControl 1.CS н SmootliProgressBar.cs.

Первая часть приготовлений к созданию индикатора прогресса закончена. Теперь приступим к написанию кода для разрабатываемого элемента. Откройте редактор кода для файла SmootliProgressBar.cs и вставьте код, приведенный в листинге 6.74.

Плавный стиль заполняет индикатор прогресса сплошной цветной полосой, а стандартный стиль имеет вид маленьких блоков, состоящих из прямоугольников (рис. 6.13).



1 ... 66 67 68 [ 69 ] 70 71 72 ... 170

© 2006 - 2024 pmbk.ru. Генерация страницы: 0.002
При копировании материалов приветствуются ссылки.
Яндекс.Метрика