Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Создание приложений на языке VIsual C# в среде программирования VIsual Studio↑ Стр 1 из 30Следующая ⇒ Содержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
Ю.А.Шичкина Создание приложений на языке Visual C# в среде программирования Visual Studio Учебное пособие Братск 2011 УДК 681.3+681.5
Создание приложений на языке Visual C# в среде программирования Visual Studio: Учебное пособие./ Ю.А.Шичкина. – Братск: ГОУ ВПО «БрГУ», 2011. – 157с.
В пособии рассматривается широкий круг вопросов, связанных с разработкой приложений на языке Visual C# в среде программирования Visual Studio. Пособие предназначено для студентов направлений подготовки «Математика и Информатика», «Прикладная математика», «Информационные системы», «Профессиональное обучение», «Прикладная информатика в экономике», «Информационная безопасность».
Рецензенты:
д.физ.-мат.н, профессор, заведующий кафедрой Прикладной математики и информатики Санкт-Петербургского государственного архитектурно-строительного университета Б.Г.Вагер д.т.н., профессор, заведующий лабораторией информатики и вычислительной техники Санкт-Петербургского института информатики российской академии наук В.И.Воробьев
Печатается по решению издательско-библиотечного совета Содержание
Введение Язык C# — это простой, но в тоже время мощный, строго типизированный и объектно-ориентированный язык, позволяющий программистам создавать разнообразные приложения. В среде Visual C# с помощью платформы.NET Framework возможно создание приложений Windows, веб-служб, средств баз данных, компонентов, элементов управления и многое другое. При помощи Visual C# можно также создавать консольные приложения с простым пользовательским интерфейсом на основе текста. Одними из базовых дисциплин в программе подготовки бакалавров по направлениям 010400 «Прикладная математика и информатика» со специализацией «Системное программирование», 090900 «Информационная безопасность» с профилем «Безопасность автоматизированных систем» являются курсы «Объектно-ориентированное программирование» и «Визуальное программирование», содержание которых определяется выписками из государственных образовательных стандартов высшего профессионального образования (ГОС ВПО). В данном учебном пособии рассматриваются основы создания приложения на языке Visual C# в среде программирования Visual Studio. Весь материал иллюстрируется примерами программ, написанных на языке С# под Windows на платформе.NET. Целью данного учебного пособия является ознакомление студентов с современными технологиями разработки приложений баз данных на языке С# под Windows на платформе.NET. Задачей учебного пособия является раскрытие выделенных дидактических единиц на простых и конкретных примерах использования библиотек классов в Windows-приложениях на основе платформы.NET на языке C#, что позволит студентам освоить базовые принципы и методы технологии программирования на современном уровне и поможет применить их в курсовом и дипломном проектировании и в будущей профессиональной деятельности. Пособие состоит из трех разделов. В первом разделе рассматриваются основы программирования на языке C#. В этом разделе представлены основные единицы и конструкции языка. При изложении материала предполагалось, что читатели уже знакомы с основами программирования. Целью данного раздела является ознакомление читателя с принципами программирования на языке C# для успешного проектирования приложений в Visual Studio. Второй раздел посвящен возможностям среды Visual Studio 2008 по разработке приложений на языке C#. Приводятся описания основных составляющих приложения, проектов, решений, файлов и других объектов. В разделе также рассматриваются принципы работы с мастерами и конструкторами, предоставляемых средой и необходимых для разработки приложений с их помощью. В третьем разделе приводится подробное описание алгоритмов работы с визуальными компонентами. Все алгоритмы проиллюстрированы на примерах. Большое внимание уделяется работе с графикой. В частности описываются компоненты, классы и методы по созданию статической и динамической графики. Приводятся готовые алгоритмы для построения графиков математических функций и создания графического редактора. В этом же разделе содержится описание библиотеки Zedgraph, предназначенной для построения диаграмм различных видов и их форматирования. Учебное пособие содержит приложение со списком наиболее часто используемых при разработке приложений элементов управления. Для усвоения материала рекомендуется самостоятельно воспроизвести учебные примеры, приведенные в пособии, развивать и дополнять их новыми функциями, а также применять изученные положения в практической работе (в курсовом и дипломном проектировании). Для проверки степени усвоения материала необходимо выполнить лабораторные работы, приведенные в конце учебного пособия. Лабораторные работы представляют собой совокупность заданий по разработке не больших приложений. Каждое приложение содержит элементы управления из предыдущих лабораторных работ и новые компоненты.
1. Основы программирования на языке С# Структура программы Определение. Пространство имен (namespace) — концепция, позаимствованная из C++ и позволяющая обеспечить уникальность всех имен, используемых в конкретной программе или проекте. Структура программы: // Подключение пространств имен using пространство; ... using пространство; namespase имя { static class Program { [STAThread] //Метод Main - это точка входа в программу static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } } } где: - Application.EnableVisualStyles(); - метод, позволяющий отображать все контролеры в стиле XP. - Application.SetCompatibleTextRenderingDefault(false); - метод, позволяющий визуализировались одинаково элементы управления, написанные для предыдущих версий.NET Framework. - Application.Run(new Form1()); - метод, осуществляющий запуск приложения с формы Form1. - Атрибут [STAThread] указывает среде.NET запускать программу в отделенном потоке. Делается это для того чтоб программа корректно взаимодействовала с COM
1.2. Типы данных в C# Прежде чем разговаривать о том, как работать с данными на C#, нужно поговорить о том, какие это могут быть данные. Простые типы данных в С# составляют: – Целые типы
– Типы с плавающей точкой
Примечание. Тип Decimal описывает 128-битное число. Он может быть как целым, так и вещественным с большой точностью, что делает его популярным для хранения денежных сумм. – Символьный тип string; – Строковый тип char.
Переменные и константы Данные в C# хранятся в переменных соответствующего типа. C# является языком со строгой типизацией - значит, компилятор гарантирует, что переменная всегда имеет значение своего типа. Перед применением переменные должны быть объявлены и инициализированы: Определение. Инициализация переменной - задание начального значения: переменная=значение; Или переменная_1= переменная_2=…=значение; Определение. Объявление переменной - выделение памяти: [область видимости, время жизни] тип переменная_1, переменная_2; Определение. Описание переменной - объявление+инициализация. [область видимости, время жизни] тип переменная_1=значение, переменная_2=значение; Глобальные переменные проекта - это переменные, видимые во всех модулях программы. Объявить глобальные переменные проекта можно в коде файла program.cs или коде файла любого модуля, например form1.cs. Пример namespase имя { //класс глобальных переменных public static class имя { Объявление или инициализация глобальных переменных } static class Program { ….. } } } Глобальные переменные модуля - это переменные, видимые во всех методах модуля. Эти переменные следует объявлять или инициализировать непосредственно в модуле после объявления библиотек, например: using System; … namespace имя_пространства { public partial class Form1: Form { //Описание или инициализация глобальных переменных модуля тип перем; …. public Form1() { } … } } Константы Константы в C# - это члены класса, значения которых определены в течение всего выполнения программы и определяются еще на этапе компиляции. Определение константы производится посредством ключевого слова const: const int a = 2;
Константы не могут определяться со словом static. Константы могут быть инициализированы как прямо конкретными значениями, так и через другие константы: const int a = 3; const int b = a + 7;
Управляющие конструкции Стандартными управляющими конструкциями в C# являются условный оператор if и циклы for, while. В C# есть дополнительные конструкции: оператор выбора switch, циклы do и foreach. Условный оператор if..else Синтаксис: if (условие) { действия, выполняемые в случае истинности условия; } else { действия, выполняемые в случае ложности условия; } Логическое выражение в скобках должно иметь тип bool. Если оно истинно, выполнится первый блок команд, если ложно - второй. При этом если какой-либо блок команд состоит из одной команды, обрамляющие фигурные скобки можно опустить, например: if (условие) действие; Цикл с пересчетом параметра - for Цикл for представляет цикл с инициализирующей командой, условием окончания и командой перехода. Синтаксис: for (переменная = начальное_значение; условие окончания цикла; команда изменения параметра) { тело цикла } Пример: for (int i = 0; i < items.Count; i++) { label1.Text= label1.Text+i.tostring(); } Пример: for (int i = 0; i < 10; i++) sum += array[i]; Цикл с предусловием – while Семантика: проверяем условие перехода. Если оно истинно, то переходим к телу цикла и затем снова к проверке условия, иначе - прекращаем выполнение цикла. Синтаксис: // задание начального значения переменная=значение // цикл while (условие с переменной) { тело цикла } Оператор выбора – switch Оператор switch является расширенным оператором ветвления, который позволяет в зависимости от значения выражения перейти к выполнению определенного кода. По семантике он эквивалентен набору блоков if, но является более оптимальным. Синтаксис: switch (переменная или выражение) { case значение_1: //Операторы, выполняющиеся если переменная = значение_1 break; case значение_2: //Операторы, выполняющиеся если переменная = значение_2 break; …. default: //Операторы, выполняющиеся, если ни один из явных случаев не подошел break; } Блок «case значение» выполняется, если выражение, указанное в скобках после switch равно заданному значению. Блок default выполняется - если ни одно из case -выражений не выполнилось. Удобно оператор выбора switch использовать для обработки выражений перечислимых типов. Цикл с постусловием – do Оператор do реализует цикл с постусловием. Семантика этого цикла аналогична циклу while, но условие выхода проверяется не до итерации, а после. Синтаксис: // задание начального значения переменная=значение // цикл do тело цикла; while (условие продолжения цикла); Обычно его используют, когда проверку необходимо выполнить после того, как прошла хотя бы одна итерация. Оператор перебора коллекции – foreach Оператор foreach - это оператор, значительно облегчающий работу с коллекциями в C#. Он позволяет перебрать все элементы некоторой коллекции. Синтаксис: // задание коллекции foreach (элемент in коллекция) { тело цикла; } Пример: // Получаем некоторый DataSet DataSet data = GetData(); foreach (Row row in data.Tables[0].Rows) { label1.Text= label1.Text+ row["ID"]; } Оператор foreach перебирает все элементы коллекции и выполняет для каждого тело цикла.
Комментарии В C# используется два типа комментирования: комментирование блока текста и комментирование строки. Комментирование блока текста Чтобы вставить блочный (многострочный комментарий), текст комментария обрамляется символами: /* комментарий */, например: /* Эта переменная хранит количество элементов */ int count; Комментирование строки текста Чтобы закомментировать строку текста (всю или часть) необходимо перед началом комментария поставить символы //, например: int count; // Эта переменная хранит количество элементов Внимание. На панели инструментов существуют кнопки: – комментирование выделенного фрагмента и – раскомментирование выделенного фрагмента.
Массивы В C# имеется три основных типа массивов: одномерные, многомерные и неровные(jagged): · С одномерными массивами все как обычно: Декларация. тип[] имя_массива = new тип[длина] Пример: int[] A = new int[10]; int[] A = {1, 2, 3, 4, 5}; Доступ. Доступ к элементам производится по номеру элемента (индексу): Имя_массива[№ элемента] Пример: int[] A = new int[10]; A[4]=3; int x=A[4]*2+1; Внимание. Элементы нумеруются индексами от 0 до N - 1, где N - размер массива. · Многомерные массивы представляют собой многомерные кубы значений. Элементы таких массивов идентифицируются набором индексов - "координат" в многомерном пространстве. Каждое измерение имеет свою размерность, не зависящую от других. Декларация. При декларации массива размерности его измерений указываются через запятую: тип[] имя_массива = new тип[длина1,длина2] Пример: int[,] А = new int[10, 20]; int[,] В = {{1, 2}, {3, 4}};
Доступ. Доступ к элементам производится с помощью оператора [], в котором индексы также указываются через запятую: Имя_массива[№строки, №столбца] Пример: int[,] A = new int[10,14]; A[3,4]=3; int x=A[3,4]*2+1; Внимание. Элементы нумеруются наборами индексов, каждый из которых может принимать значение от 0 до N - 1, где N - размер соответствующего измерения массива. · Неровные (jagged) массивы - это, по сути, массивы массивов. Декларация. При декларации неровного массива одна из его размерностей является константой, другая оставляется пустой: тип имя_массива[][] = new тип[длина1][] или тип имя_массива[][] = new тип[][длина2] Пример: int А[][] = new int[2][]; А[0] = new int[4]; А[1] = new int[20]; Доступ. Доступ к элементам производится с помощью операторов [], прописываемых подряд для каждого измерения со своим индексом без запятых: Имя_массива[№строки][№столбца] Пример: int element = array[0][1]; Внимание. Неровные массивы похожи на многомерные, но их размеры могут различаться даже в одном измерении. В приведенном примере существует элемент А[1][15], но не существует элемента А[0][15].
Исключения Исключения служат для обработки ошибок. Исключения были придуманы больше 15 лет назад, стандартный синтаксис исключений берет свое начало от C++. Допустим, в некотором методе случается ошибка. Что делать? Можно, конечно, прервать процесс без объяснений, но это не является корректным решением, т.к. метод, в котором возникла ошибка, ничего не знает об окружении, в котором он выполняется и, стало быть, не вполне компетентен в выборе стратегии в нештатной ситуации. Правильным решением является выдача сообщения вызывающему методу. В языках без поддержки исключений использовались коды ошибок. Метод (функция) завершался, возвращая "особенное" значение, которое трактовалось как ошибочное. Такой подход является очень неудобным в силу сложности передачи всей информации об ошибке в одном числе. Исключения в этом смысле стали панацеей. Идея очень проста: если в каком-то методе происходит ошибка, то создается объект, описывающий ее, и генерируется исключение на его основе. При генерации исключения прекращается выполнение текущего блока и идет возврат на более высокий уровень. На нем исключение может быть "поймано" и обработано. Если оно не обрабатывается на более высоком уровне, идет переход еще выше и т.д. пока процесс передачи исключения не дойдет до системного вызова, в котором все исключения обрабатываются. Синтаксис исключения: try { блок команд, в котором может возникнуть ошибка } [catch [(тип_исключения имя_исключения)] { блок обработки исключения }] [finally { команды, которые выполняются в любом случае }] Схема работы такой конструкции очень проста - если в блоке try происходит исключение, то идет переход на блок catch и ему это исключение передается в качестве параметра. В любом случае (произошло исключение или нет) в конце вызывается блок команд finally. Создание собственного исключения: Исключение создается с помощью команды try, которой передается объект типа Exception, который содержит информацию об исключении. Таким образом, в блоке try исключения могут возникнуть двумя способами - непосредственный вызов команды throw или необработанное исключение в одном из вызываемых методов. Пример: public static double Calculate(double f) { if (d == 0) throw new Exception("Функция не определена в 0"); return 1 / d; } public static void Main() { try { double d1=Calculate(2); double d2=Calculate(0); double d3=Calculate(1); } catch (Exception e) { label1.Text="Ошибка: "+e; } } } При различных типах исключения можно производить различные действия. Для этого используется несколько блоков catch подряд. При этом вызывается первый блок, чей тип исключения соответствует типу пришедшего исключения: try { Calculate(х); } catch (DivisionByZeroException e) { label1.Text="Деление на ноль"+e; } catch (OverflowException e) { …label1.Text="Неверная область определения "+e; } catch (Exception e) // Обработка остальных типов исключения { label1.Text="Ошибка: "+e;} Среда Visual Studio Среда разработки Visual Studio представляет собой полный набор инструментов для создания как настольных приложений, так и корпоративных веб-приложений для совместной работы групп. Используя эффективные инструменты разработки Visual Studio, основанные на использовании компонентов, и другие технологии, можно не только создавать эффективно работающие настольные приложения, но и упрощать совместное проектирование, разработку и развертывание корпоративных решений. Программы на C# можно писать и в простом текстовом редакторе (например, в Блокноте) и компилировать (т.е. преобразовывать программный код в набор команд, понятных компьютеру) при помощи так называемого "Компилятора C#", входящего в состав.NET Framework. Однако начинающим программистам рекомендуется использовать Visual C# Express – упрощенную среду для разработки на языке C#. В Visual C# Express есть множество замечательных функций, например, автоматическое создание кода на C#, путем перетаскивания на форму какой-либо кнопки или другого элемента управления. Visual C# Express упростит первые шаги в постижении программирования, а после прочтения курса вы сможете двигаться дальше, постепенно усложняя задачи.
Установка программного обеспечения Для написания программ на языке C# понадобятся: 1. Пакет Microsoft.NET Framework 3.5. Это платформа, которая включает все необходимое для создания и запуска программ: библиотеки классов, компоненты и среду, где созданные приложения будут исполняться. Microsoft.NET Framework 3.5 можно бесплатно загрузить на странице http://msdn.microsoft.com/ru-ru/netframework/aa569263.aspx. 2. Среда разработки, для.Net Framework. Среда разработки необходима для того, чтобы сделать процесс работы максимально удобным. Удачным решением является среда Microsoft Visual C# 2008 Express Edition, установочный пакет можно бесплатно загрузить на сайте Майкрософт: http://www.microsoft.com/rus/express/download/. Если установлен пакет Visual C# 2008 Express, который уже содержит.NET Framework, то выполнять пункт 1 не придется.
Решения как контейнеры Решения управляют настройкой, сбором и развертыванием связанных проектов. Решение Visual Studio может содержать как один, так и несколько проектов, созданных группой разработки. Для сложного приложения может потребоваться несколько решений. Решения позволяют сосредоточиться на разработке и развертывании проектов, а не на управлении файлами, компонентами и объектами. Каждое решение Visual Studio позволяет выполнять следующие действия. · Работать с несколькими проектами в пределах одного экземпляра IDE. · Работать с элементами, используя настройки и параметры, применимые ко всему набору проектов. · Использовать интерфейс Обозреватель решений при разработке и развертывании приложения. · Управлять дополнительными файлами вне контекста решения или проекта. Файл решения Visual Studio хранит решение в файле: имя_решения.SLN. Этот файл содержит метаданные, которые определяют решение; проекты, связанные с решением; элементы, доступные на уровне решения, которые не связаны с отдельным проектом; конфигурации построения решения. Проекты как контейнеры Чтобы помочь пользователям организовывать и выполнять стандартные задачи с применением разрабатываемых элементов, проекты Visual Studio используются как контейнеры в пределах решения. Это позволяет логически управлять, выполнять построение и отлаживать элементы, образующие приложение. На выходе проект, как правило, представляет собой исполняемую программу (EXE), файл библиотеки динамической компоновки (DLL) или модуль (рис.1). Рисунок 1 – Контейнеры Visual Studio Проект может быть простым или сложным в зависимости от конкретных требований. Простой проект может содержать форму или HTML-документ, файлы исходного кода и файл проекта. Более сложные проекты могут включать эти же элементы и, кроме того, скрипты баз данных, хранимые процедуры и ссылки на существующие XML (веб-службы).. Шаблоны проектов Все продукты разработки Visual Studio содержат несколько предварительно определенных шаблонов элементов. Эти шаблоны можно использовать для создания основного контейнера и предварительного набора элементов, необходимых для разработки приложения, класса, элемента управления или библиотеки. Например, если необходимо создать приложение Windows, проектом будет предложен элемент формы Windows, который можно настроить. Точно так же, если необходимо создать веб-приложение, проектом будет предложен элемент веб-формы. Использование проектов и их шаблонов позволяет пользователю сосредоточиться на реализации отдельной функции, в то время как проект будет выполнять общее управление и задачи построения. При работе можно либо использовать параметры по умолчанию, либо настроить собственные конфигурации построения. Можно также создать собственные шаблоны. Файл проекта Все шаблоны проекта создают и сохраняют файл проекта, в котором хранятся метаданные, связанные с данным проектом. Расширение и фактическое содержимое файла проекта зависят от типа проекта. Проекты веб-сайта не поддерживают файлы проекта. Как правило, в файле проекта хранятся настройки конфигурации и построения, заданные для проекта, а также набор элементов. В некоторых проектах ведется список файлов, связанных с проектом, и сохраняется их расположение. При добавлении элемента к проекту физическое расположение исходного файла на диске также добавляется к файлу проекта. Когда ссылка удаляется из проекта, эти сведения удаляются из файла определения. Шаблон проекта определяет, какие команды доступны для каждого элемента. 2.3. Типы и расширения файлов в Visual Studio для С# Элементы проектов ссылаются на типы файлов, добавляемых в проект. Доступные для разработчика элементы проекта различаются в зависимости от того, с каким проектом он работает — с локальным проектом или веб-проектом. В следующей таблице перечислены некоторые элементы проектов, доступные для локальных проектов.
Окна инструментов Окна инструментов перечислены в меню Вид. Они соответствуют текущему приложению и его надстройкам. Можно настроить следующие параметры окон инструментов в интегрированной среде разработки. · Автоматическое отображение и скрытие · Объединение с другими окнами инструментов для создания групп вкладок · Закрепление по границам интегрированной среды разработки · Плавающее окно Окна документов Окна документов создаются автоматически при открытии или создании файлов и других элементов. Список открытых окон документов отображается в меню Окно в текущей последовательности (верхнее окно указано в списке первым). Группы вкладок Группы вкладок упрощают организацию ограниченного рабочего пространства при наличии двух или более открытых документов в интегрированной среде разработки. Можно организовать несколько окон документов и средств в вертикальные или горизонтальные группы вкладок с помощью меню Окно и легко переносить документы из одной группы в другую. Разделенные окна Если требуется просмотреть или изменить два различных места в документе, можно использовать разделение окон. Чтобы разделить документ на две области с независимой прокруткой, выберите команду Разделить в меню Окно. Чтобы восстановить единое отображение, выберите ком анду Снять разделение в меню Окно. Закрепление окон Окна инструментов можно прикрепить к одной из сторон фрейма интерфейса IDE. При перетаскивании окна инструментов в новое расположение в интегрированной среде разработки появляется маркер в виде ромба. Маркер помогает закрепить окно инструментов на одной из четырех сторон интегрированной среды разработки или во фрейме редактирования. Примечание. Чтобы переместить закрепляемое окно без его привязки к какому-либо месту, следует при его перетаскивании держать нажатой клавишу CTRL. На следующей схеме изображены маркеры, которые появляются при перетаскивании окна инструментов или документов к центру интегрированной среды разработки. Маркер на правой стороне появляется только при перетаскивании окна инструмента к краю интегрированной среды разработки. Закрепление происходит только, когда курсор мыши совпадает со стрелочкой на маркере и часть окна при этом меняет цвет: Чтобы закрепить окно инструментов: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2017-01-20; просмотров: 2145; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.118.198.33 (0.012 с.) |