Эндрю Троелсен - ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание

Здесь есть возможность читать онлайн «Эндрю Троелсен - ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Москва • Санкт-Петербург • Киев, Год выпуска: 2007, ISBN: 2007, Издательство: Издательский дом Вильямс, Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

В этой книге содержится описание базовых принципов функционирования платформы .NET, системы типов .NET и различных инструментальных средств разработки, используемых при создании приложений .NET. Представлены базовые возможности языка программирования C# 2005, включая новые синтаксические конструкции, появившиеся с выходом .NET 2.0, а также синтаксис и семантика языка CIL. В книге рассматривается формат сборок .NET, библиотеки базовых классов .NET. файловый ввод-вывод, возможности удаленного доступа, конструкция приложений Windows Forms, доступ к базам данных с помощью ADO.NET, создание Web-приложений ASP.NET и Web-служб XML. Книга содержит множество примеров программного кода, призванного помочь читателю в освоении предлагаемого материала. Программный код примеров можно загрузить с Web-сайта издательства.

ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

// Выбор имени машины.

public string PetName {

get { return carPetName; }

set {

CarPetName = value;

Invalidate();

}

}

Далее, у нас есть свойство Speed. Вдобавок к простому изменению члена currSp, свойство Speed – это элемент, "стимулирующий" генерирование событий AboutToBlow и BlewUp, в зависимости от текущей скорости CarControl. Вот как выглядит соответствующая программная логика.

// Проверка currSp и currMaxFrame и генерирование событий.

public int Speed {

get { return currSp; }

set {

// В пределах безопасной скорости?

if (currSp ‹= maxSp) {

currSp = value;

currMaxFrame = AnimFrames.Lemon3;

}

// Вблизи взрывоопасной ситуации?

if ((maxSp – currSp) ‹= 10) {

if (AboutToBlow != null) {

AboutToBlow("Чуть помедленнее, парень!");

currMaxFrame = AnimFrames.AboutToBlow;

}

}

// Превышаем?

if (currSp ›= maxSp) {

currSp = maxSp;

if (BlewUp != null) {

BlewUp("М-да… тебе крышка… ");

currMaxFrame = AnimFrames.EngineBlown;

}

}

}

}

Как видите, если текущая скорость становится лишь на 10 км/ч ниже максимальной допустимой скорости, вы генерируете событие AboutToBlow и сдвигаете верхний предел фреймов анимации к значению AnimFrames.AboutToBlow. Если пользователь превышает возможности вашего автомобиля, вы генерируете событие BlewUp и сдвигаете верхнюю границу фреймов к AnimFrames.EngineBlown. Если скорость ниже максимальной, верхний предел фреймов остается равным AnimFrames.Lemon3.

Контроль анимации

Следующей задачей является обеспечение гарантий того, что тип Timer сместит текущий фрейм визуализации в рамках PictureBox. Снова напомним, что число фреймов в цикле анимации зависит от текущей скорости автомобиля. Необходимость изменений изображений в PictureBox возникает только тогда, когда свойство Animate равно true (истина). Начните с обработки события Tick для типа Timer, используя следующий программный код.

private void imageTimer_Tick(object sender, EventArgs s) {

if (IsAnim) currentImage.Image = carImages.Images[(int)currFrame];

// Сдвиг фрейма.

int nextFrame = ((int)currFrame) + 1;

currFrame = (AnimFrames)nextFrame;

if (currFrame › currMaxFrame) currFrame = AnimFrames.Lemon1;

}

Отображение названия

Чтобы завершить создание элемента управления, вы должны отобразить название автомобиля. Для этого обработайте событие Paint для CarControl и в рамках обработчика этого события отобразите PetName вашего CarControl в нижней прямоугольной области клиента.

private void CarControl_Paint(object sender, PaintEventArgs e) {

// Отображение названия в нижнем прямоугольнике.

Graphics g = e.Graphics;

g.FillRectangle(Brushes.GreenYellow, bottomRect);

g.DrawString(PetName, new Font("Times New Roman", 15), Brushes.Black, bottomRect);

}

На этом начальный этап построения CarControl завершается. Теперь выполните компоновку своего проекта.

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

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

Рис 2129 Тестирование CarControl в испытательном контейнере Установив для - фото 303

Рис. 21.29. Тестирование CarControl в испытательном контейнере

Установив для свойства Animate значение true (истина), вы увидите цикл анимации CarControl с использованием первых трех файлов *.bmp. Однако с помощью этой утилиты тестирования вы не сможете обрабатывать события. Чтобы проверить эту возможность вашего элемента интерфейса, нужно построить пользовательскую форму.

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

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

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание»

Представляем Вашему вниманию похожие книги на «ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание»

Обсуждение, отзывы о книге «ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x