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

Тут можно читать онлайн Эндрю Троелсен - ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming, издательство Издательский дом Вильямс, год 2007. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание
  • Автор:
  • Жанр:
  • Издательство:
    Издательский дом Вильямс
  • Год:
    2007
  • Город:
    Москва • Санкт-Петербург • Киев
  • ISBN:
    ISBN 5-8459-1124-9
  • Рейтинг:
    3.2/5. Голосов: 101
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 60
    • 1
    • 2
    • 3
    • 4
    • 5

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

ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание - описание и краткое содержание, автор Эндрю Троелсен, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

В этой книге содержится описание базовых принципов функционирования платформы .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 partial class MainForm: Form {

GraphicsPath myPath = new GraphicsPath();

public MainForm() {

// Создание нужного пути.

myPath.StartFigure();

myPath.AddLine(new Point(150, 10), new Point(120, 150));

myPath.AddArc(200, 200, 100, 100, 0, 90);

Point point1 = new Point(250, 250);

Point point2 = new Point(350, 275);

Point point3 = new Point (350, 325);

Point point4 = new Point(250, 350);

Point[] points = {point1, point2, point3, point4};

myPath.AddCurve(points);

myPath.CloseFigure();

}

}

Обратите внимание на вызовы StartFigure() и CloseFigure(). При вызове StartFigure() вы можете вставить новый элемент в траекторию, которую вы строите. Вызов CloseFigure() закрывает имеющуюся фигуру и начинает новую (если это требуется). Также следует знать, что в том случае, когда фигура содержит последовательность соединенных линий и кривых (как в случае с экземпляром myPath), цикл завершается путем соединения конечной и начальной точек с помощью линий. Сначала добавьте в перечень ClickedImage дополнительное имя StrangePath.

enum ClickedImage {

ImageA, ImageB,

ImageC, StrangePath

}

Затем обновите имеющийся обработчик события MouseDown, чтобы проверить присутствие указателя мыши в границах GraphicsPath. Как и для типа Region, это можно сделать с помощью члена IsVisible().

protected void OnMouseDown(object sender, MouseEventArgs e) {

// Получение значений (х, у) для щелчка мыши.

Point mousePt = new Point(e.X, e.Y);

else if(myPath.IsVisible(mousePt)) {

isImageClicked = true;

imageClicked = ClickedImage.StrangePath;

this.Text = "Вы щелкнули на странной фигуре…";

}

}

Наконец, измените обработчик Paint, как предлагается ниже.

private void MainForm_Paint(object sender, PaintEventArgs e) {

Graphics g = e.Graphics;

// Рисование фигуры.

g.FillPath(Brushes.Sienna, myPath);

// Рисование контура (при щелчке на соответствующей фигуре)

if (isImageClicked == true) {

Pen outline = new Pen(Color.Red, 5);

switch(imageClicked) {

case ClickedImage.StrangePath:

g.DrawPath(outline, myPath);

break;

default:

break;

}

}

}

Исходный код.Проект HitTestinglmages размещен в подкаталоге, соответствующем главе 20.

Формат ресурсов .NET

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

// Загрузка изображений в объекты.

bMapImageA = new Bitmap("imageA.bmp");

bMapImageB = new Bitmap("imageB.bmg");

bMapImageC = new Bitmap("imageC.bmp");

Такая программная логика требует, чтобы каталог приложения содержал три файла с именами imageA.bmp, imageB.bmp и imageС.bmp, иначе в среде выполнения будет сгенерировано соответствующее исключение.

Вы можете помнить из главы 11, что компоновочный блок представляет собой коллекцию типов и, необязательно, ресурсов. В этой связи нашей заключительной темой обсуждения в этой главе будет выяснение того, как выполнить привязку внешних ресурсов (например, файлов изображений и строк) непосредственно к компоновочному блоку. Тогда ваш двоичный блок .NET будет истинно самодостаточным. На элементарном уровне объединение внешних ресурсов в компоновочном блоке .NET предполагает выполнение следующих шагов.

1. Создание файла *.resx в котором задаются пары имен и значений для каждого ресурса приложения в формате XML-представления данных.

2. Использование утилиты командной строки resgen.exe для преобразования XML-файла *.resx в двоичный эквивалент (файл *.resources).

3. Использование флага /resource компилятора C# для того, чтобы встроить двоичный файл *.resources в компоновочный блок.

Как вы можете догадаться, в Visual Studio 2006 эти шаги автоматизированы. Чуть позже вы узнаете, как указанная среда разработки может вам в этом помочь. А пока давайте выясним, как сгенерировать и встроить ресурсы .NET в командной строке.

Пространство имен System.Resources

Ключом к пониманию формата ресурсов .NET является понимание типов, определенных в пространстве имен System.Resources. Соответствующее множество типов обеспечивает программные средства чтения и записи файлов *.resx ( в формате XML) и *.resources (в двоичном формате), а также получения ресурсов, встроенных в компоновочный блок. Описания базовых типов этого пространства имен предлагаются в табл. 20.10.

Таблица 20.10.Члены пространства имен System.Resources

Члены Описание
ResourceReader ResourceWriter Позволяют читать и записывать данные двоичных файлов
ResXResourceReader ResXResourceWriter Позволяют читать и записывать данные XML-файлов *.resx
ResourceManager Позволяет программно получить встроенные ресурсы данного компоновочного блока

Создание файла *.resx программными средствами

Как было отмечено выше, файл *.resx содержит XML-данные, представляющие пары имен и значений для каждого ресурса приложения. Класс ResXResourceWriter предлагает набор членов, с помощью которых вы можете создать файл *.resx, добавить в него двоичные и строковые ресурсы и сохранить их. Для примера мы создадим простое приложение (ResXWriter), которое будет генерировать файл *.resx, содержащий информацию, необходимую для загрузки файла happyDude.bmp (впервые упомянутого в примере DraggingImages) и некоторого строкового ресурса. Графический интерфейс пользователя будет образован единственным типом Button (рис. 20.22).

Рис 2022 Приложение ResX Обработчик события Click для Button добавляет - фото 265

Рис. 20.22. Приложение ResX

Обработчик события Click для Button добавляет happyDude.bmp и строковый ресурс в файл *.resx, который сохраняется на локальном диске C.

private void btnGenResX_Click(object sender, EventArgs e) {

// Создание объекта, записывающего данные resx,

// и указание файла для записи.

ResXResourceWriter w = new ResXResourceWriter(@"C:\ResXForm.resx");

// Добавление изображения и строки.

Image i = new Bitmap ("happyDude.bmp");

w.AddResource("happyDude", i);

w.AddResource("welcomeString", "Приветствие формата ресурсов");

// Фиксация файла.

w.Generate();

w.Close();

}

Здесь наибольший интерес представляет собой член ResXResourceWriter.AddResource(). Этот метод является перегруженным, чтобы вы имели возможность вставить как двоичные данные (такие, как изображение happyDude.bmp), так и текстовые (наподобие указанной выше строки). Обратите внимание на то, что каждый из вариантов предполагает использование двух параметров: имени соответствующего ресурса в файле *.resx и непосредственно данных. Метод Generate() фиксирует информацию в файле. В результате вы получаете XML-описание ресурсов изображения и строки. Для проверки откройте новый файл ResXForm.resx с помощью текстового редактора (рис. 20.23).

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

Интервал:

Закладка:

Сделать


Эндрю Троелсен читать все книги автора по порядку

Эндрю Троелсен - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




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


Отзывы читателей о книге ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание, автор: Эндрю Троелсен. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x