Создание пользовательской формы для CarControl

Создание пользовательской формы для CarControl

Как и в случае любого другого .NET-типа, вы можете использовать свой элемент управления в рамках любого языка, совместимого со средой CLR. Закройте текущее рабочее пространство и создайте новый C#-проект Windows Application с именем CarControlTestForm. Чтобы сослаться на пользовательские элементы управления из Visual Studio 2005, щелкните правой кнопкой мыши в любом месте окна Toolbox и выберите пункт меню Choose Item (Выбрать элемент). Используя кнопку Browse (Просмотр) на вкладке .NET Framework Components (Компоненты .NET), перейдите к своей библиотеке CarControlLibrary.dll. После щелчка на кнопке OK вы обнаружите в панели инструментов новую пиктограмму с названием, конечно же, CarControl.

После этого поместите новый элемент CarControl в окно проектирования формы. Обратите внимание на то, что при этом свойства Animate, PetName и Speed тоже появляются в окне свойств. Точно так же, как и в случае испытательного контейнера, ваш элемент управления "живет своей жизнью" в режиме проектирования. Поэтому, если вы установите для свойства Animate значение true, вы увидите анимацию автомобиля в окне проектирования формы.

Сконфигурировав начальное состояние CarControl, добавьте дополнительные элементы графического интерфейса, которые дозволят увеличивать и уменьшать скорость автомобиля, а также видеть текущую скорость автомобиля и строковые данные, посылаемые генерируемыми событиями (для этого вполне подойдут элементы управления Label). Один из возможных вариантов показан на рис. 21.30.

Рис. 21.30. Графический интерфейс клиента

В предположении о том, что вы создали графический пользовательский интерфейс, аналогичный показанному на рисунке, программный код в рамках вашего типа Form должен быть очень простым (здесь я предполагаю, что вы обработали каждое из событий CarControl с помощью окна свойств).

public partial class MainForm: Form {

 public MainForm() {

  InitializeComponent();

  lblCurrentitSpeed.Text = string.Format("Текущая скорость: {0}", this.myCarControl.Speed.ToString());

  numericUpDownCarSpeed.Value = myCarControl1.Speed;

 }

 private void numericUpDownCarSpeed_ValueChanged(object sender, EventArgs e) {

  // Предполагается, что минимум NumericUpDown равен 0,

  // а максимум - 300.

  this.myCarControl.Speed = (int)numericUpDownCarSpeed.Value;

  lblCurrentSpeed.Text = string.Format("Текущая скорость: {0}", this.myCarControl.Speed.ToString());

 }

 private void myCarControl_AboutToBlow(string msg) {

  lblEventData.Text = string.Format("Данные события: {0}", msg);

 }

 private void myCarControl_BlewUp(string msg) {

  lblEventData.Text = string.Format("Данные событий: {0}", msg);

 }

}

Теперь вы можете запустить ваше приложение клиента на выполнение и проверить его взаимодействие с CarControl. Как видите, задача построения и использования пользовательских элементов управления оказывается достаточно простой, конечно, при условии, что вы уже имеете достаточные знания об ООП, системе типов .NET, GDI+ (т.е. о System.Drawing.dll) и Windows Forms.

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

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Создание формы для газона

Из книги Ландшафтный дизайн на компьютере автора Орлов Андрей Сергеевич

Создание формы для газона Создадим газоны в программе Landscaping and Deck Designer и посмотрим, как с помощью стандартных компонентов из библиотеки приложения преобразить их внешний вид.Откройте программу, щелкнув кнопкой мыши на ярлыке приложения на Рабочем столе.На верхней


Создание родительской формы

Из книги Язык программирования С# 2005 и платформа .NET 2.0. [3-е издание] автора Троелсен Эндрю

Создание родительской формы Для демонстрации основ процесса построения MDI-приложения создайте новое приложение Windows, назвав его SimpleMdiApp. При этом почти вся MDI-ин-фраструктура может быть назначена исходной форме с помощью различных инструментов проектирования. Сначала


Создание дочерней формы

Из книги Советы по Delphi. Версия 1.0.6 автора Озеров Валентин

Создание дочерней формы Теперь, когда у вас есть оболочка MDI-контейнера, нужно создать дополнительную форму, выполняющую роль прототипа для данного дочернего окна. Начните со вставки нового типа Form в имеющийся проект (используйте Project?Add Windows Form), присвойте этому типу имя


Реализация CarControl

Из книги Adobe Photoshop CS3 автора Завгородний Владимир

Реализация CarControl После этой подготовительной работы по созданию пользовательского интерфейса вы можете приступить к реализации членов типа. Сначала создайте новый общедоступный перечень AnimFrames, который будет иметь члены, представляющие каждый элемент из ImageList. Этот


Тестирование типа CarControl

Из книги HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов. автора Дронов Владимир

Тестирование типа CarControl При запуске или отладке проекта Windows Control Library в Visual Studio 2005 иcпользуется UserControl Test Container (испытательный контейнер пользовательских элементов управления). Это управляемый вариант теперь уже устаревшего ActiveX Control Test Container (испытательный контейнер


Создание пользовательской страницы тестирования

Из книги HTML 5, CSS 3 и Web 2.0. Разработка современных Web-сайтов автора Дронов Владимир

Создание пользовательской страницы тестирования Если вы хотите, чтобы среда выполнения ASP.NET применяла пользовательский файл *.aspx для проверки ваших Web-сервисов XML, вы можете встроить в эту страницу дополнительную информацию (например, фирменный знак компании,


Создание выделения произвольной формы

Из книги Программирование КПК и смартфонов на .NET Compact Framework автора Климов Александр П.

Создание выделения произвольной формы Для создания выделения применяется целый ряд инструментов, каждый из которых предназначен для решения своих особых задач:• Rectangular Marquee (Прямоугольное выделение) – создает выделения прямоугольной и квадратной формы;• Elliptical Marquee


Создание Web-формы

Из книги Программирование для карманных компьютеров автора Волков Владимир Борисович

Создание Web-формы На очереди — Web-форма, в которую посетитель будет вводить искомое слово или его часть. Вот только куда ее поместить? Давайте пока что вставим ее в контейнер cnavbar, ниже полосы навигации, непосредственно перед закрывающим тегом </DIV>, формирующим этот


Создание Web-формы

Из книги Microsoft Access 2007 автора Днепров Александр Г.

Создание Web-формы На очереди — Web-форма, в которую посетитель будет вводить искомое слово или его часть. Вот только куда ее поместить? Давайте пока что вставим ее в контейнер cnavbar, ниже полосы навигации, непосредственно перед закрывающим тегом </DIV>, формирующим этот


Создание формы

Из книги Access 2002: Самоучитель автора Дубнов Павел Юрьевич

Создание формы Для создания новой формы VBA выберите Insert=UserForm из меню редактора Visual Basic или из контекстного меню (вызываемого щелчком правой кнопки мыши) в окне проводника проектов. Новая форма (точнее, заготовка новой формы) появится в специально созданном для нее окне, а


Создание фонового рисунка для формы

Из книги HTML, XHTML и CSS на 100% автора Квинт Игорь

Создание фонового рисунка для формы К сожалению, .NET Compact Framework не поддерживает свойство BackgroundImage, которое создает фоновый рисунок для формы. Но каждый программист может восполнить данный пробел, переопределяя метод OnPaint.Нужно создать новый проект и разместить на форме


Создание приложения без формы

Из книги автора

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


Создание новой формы

Из книги автора

Создание новой формы Microsoft Office Access 2007 предоставляет разнообразные способы создания форм в зависимости от необходимой функциональности и сложности. Можно создавать следующие виды форм:• обычная форма с помощью инструмента Форма ;• разделенная форма с помощью


Создание формы с помощью мастера форм

Из книги автора

Создание формы с помощью мастера форм Использование мастера форм является самым удобным и быстрым способом создания формы, в которой объединены сведения из разных таблиц или запросов. При использовании мастера форм для выбора полей из одной или нескольких таблиц или


6.2. Создание полей формы

Из книги автора

6.2. Создание полей формы Теперь приступим к самому интересному – к созданию полей для форм. Полей, из которых можно составить форму, очень много, поэтому надо внимательно следить за выбором поля для представления конкретной информации. Говоря о каждом из видов, мы будем