Эндрю Троелсен - ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание
- Название:ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание
- Автор:
- Жанр:
- Издательство:Издательский дом Вильямс
- Год:2007
- Город:Москва • Санкт-Петербург • Киев
- ISBN:ISBN 5-8459-1124-9
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Эндрю Троелсен - ЯЗЫК ПРОГРАММИРОВАНИЯ С# 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-е издание - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
// для System.Resources и System.Reflection!
private void btnGetStringData_Click(object sender, EventArgs e) {
// Создание менеджера ресурсов.
ResourceManager rm = new ResourceManager("MyResourcesWinApp.MyCustomResources", Assembly.GetExecutingAssembly());
// Получение встроенной строки (с учетом регистра!)
MessageBox.Show(rm.GetString("WelcomeString"));
// Получение встроенного изображения (с учетом регистра!)
myPictureBox.Image = (Bitmap)rm.GetObject("HappyDude");
// Необходимая 'уборка'.
rm.ReleaseAllResources();
}
Обратите внимание на то, что первый аргумент конструктора ResourceManager представляет собой полное имя файла *.resx (но без расширения файла). Второй параметр является ссылкой на компоновочный блок, содержащий соответствующий встроенный ресурс (в данном случае это текущий компоновочный блок). После создания ResourceManager вы можете вызвать GetString() или GetObject(), чтобы извлечь встроенные данные. Если вы запустите приложение и щелкнете на его кнопке, вы увидите, что извлеченные из компоновочного блока строковые данные отобразятся в MessageBox, а данные изображения – в PictureBox.
Исходный код.Проект MyResourcesWinApp размещен в подкаталоге, соответствующем главе 20.
На этом мы завершаем наш обзор возможностей GDI+ и пространств имен System.Drawing. Если вы заинтересованы в дальнейшем исследовании GDI+ (включая поддержку печати), обратитесь к книге Nick Symmonds, GDI+ Programming in C# and VB.NET (Apress, 2002).
Резюме
Аббревиатура GDI+ используется для обозначения ряда связанных пространств имен .NET, используемых для визуализации графических образов на поверхности производных от Control типов. Значительная часть этой главы была посвящена выяснению того, как работать с базовыми объектными типами GDI+ – цветами, шрифтами, графическими изображениями, перьями и кистями, используемыми в совокупности с "всемогущим" типом Graphics. В процессе обсуждения были рассмотрены и некоторые другие возможности GDI+, такие как проверка попадания указателя мыши в заданную область окна и перетаскивание изображений.
В завершение главы был рассмотрен новый формат ресурсов .NET. Как выяснилось, файл *.resx определяет ресурсы в виде XML с помощью пар имен и значений. Этот файл можно обработать с помощью утилиты resgen.exe, чтобы привести его к двоичному формату (*.resources) и затем встроить соответствующие ресурсы в компоновочный блок. Наконец, тип ResourceManager обеспечивает простой способ программного извлечения встроенных ресурсов во время выполнения приложения.
ГЛАВА 21. Использование элементов управления Windows Forms
Эта глава представляет собой краткое руководство по использованию элементов управления, определенных в пространстве имен System.Windows.Forms. В главе 19 вы уже имели возможность поработать с некоторыми элементами управления, размещаемыми в главной форме: это MenuStrip, ToolStrip и StatusStrip. В этой главе мы рассмотрим различные типы, которые обычно размещают в пределах области клиента формы (это, например, Button, MaskedTextBox, WebBrowser, MonthCalendar, TreeView и т.п.). Рассмотрев базовые элементы пользовательского интерфейса, мы затем обсудим процесс создания пользовательских элементов управления Windows Forms, интегрируемых в среду разработки Visual Studio 2005.
После этого мы рассмотрим процесс построения пользовательских диалоговых окон, а также роль наследования форм, которое позволяет создавать иерархии связанных типов Form. В завершение главы обсуждается возможность стыковки и закрепления элементов графического интерфейса и выясняется роль типов FlowControlPanel и TableControlPanel, предлагаемых в .NET 2.0.
Элементы управления Windows Forms
Пространство имен System.Windows.Forms содержит ряд типов, представляющих наиболее часто используемые элементы графического интерфейса, которые обеспечивают поддержку взаимодействия с пользователем в приложении Windows Forms. Многие элементы управления из тех, с которыми вы будете работать ежедневно (такими, например, являются Button, TextBox и Label), интуитивно совершенно понятны, но чтобы работать с другими, более "экзотическими" элементами управления и компонентами (например, с TreeView, ErrorProvider и TabControl), требуются дополнительные пояснения.
Из главы 19 вы узнали, что тип System.Windows.Forms.Control является базовым классом для всех таких элементов. Напомним, что Control обеспечивает возможность обрабатывать события мыши и клавиатуры, задавать физические размеры и позицию элементов в форме с помощью различных свойств (Height, Width, Left, Right, Location и т.п.), манипулировать цветами фона и переднего плана, задавать активный шрифт/курсор и т.д. Кроме того, базовый тип Control определяет члены, контролирующие возможность закрепления и поведение стыковки элемента (объяснения по поводу указанных возможностей будут даны в тексте этой главы позже).
При изучении материала данной главы помните о том, что рассматриваемые здесь элементы управления наследуют большинство своих функциональных возможностей от базового класса Control. Поэтому мы сосредоточимся (более или менее) на уникальных членах этих элементов. Следует понимать, что эта глава не пытается полностью описать абсолютно все члены абсолютно всех элементов управления (это задача документации .NET Framework 2.0 SDK). Однако я уверен, что после завершения изучения материала этой главы у вас не возникнет проблем в понимании тех элементов, которые здесь непосредственно описаны не были.
Замечание.В Windows Forms предлагается целый ряд элементов управления (DataGridView, BindingSource и т.д.), позволяющих отображать содержимое реляционных баз данных. Некоторые из этих элементов управления будут рассмотрены в главе 22 при обсуждении ADO.NET.
Добавление элементов управления в форму вручную
Независимо от того, какой именно элемент управления вы выбираете для размещения в форме, последовательность шагов, которые при этом выполняются, оказывается одной и той же. Во-первых, вы должны определить члены-переменные, представляющие эти элементы управления. Затем, в рамках конструктора формы (или вспомогательного метода, вызванного конструктором), вы должны настроить вид каждого элемента управления, используя доступные свойства, методы и события этого элемента. Наконец (и это самое важное), после установки элемента управления в исходное состояние, вы должны добавить этот элемент к внутренней коллекции элементов управления формы, используя унаследованное свойство Controls. Если вы не сделаете этот заключительный шаг, ваш элемент управления не будет видимым во время выполнения.
Чтобы рассмотреть процесс добавления элементов управления в форму, давайте начнем с построения типа Form без помощи мастеров, используя только текстовый редактор и компилятор командной строки C#. Создайте новый файл C# с именем ControlsByHand.cs и добавьте в этот файл следующий программный код, определяющий новый класс MainWindow.
Читать дальшеИнтервал:
Закладка: