Проектирование и разработка приложения "Электронная записная книжка с функцией напоминания"
Основы программирования на базе технологий Microsoft.net. Создание базы Microsoft Access. Разработка Windows-приложения в виде электронной книжки с функцией запоминания. Модель программирования Windows Forms. Информационное и программное обеспечение.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 29.12.2019 |
Размер файла | 3,7 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Проектирование и разработка приложения «Электронная записная книжка с функцией напоминания»
ВВЕДЕНИЕ
программирование windows приложение электронный книжка
Язык С# является относительно новым языком, о котором миру впервые стало известно тогда, когда Microsoft в июле 2000 г. объявила о выходе первой версии.NET Framework. С тех пор он сильно вырос в плане популярности и стал чуть ли не самым предпочитаемым языком среди разработчиков Windows- и Web-приложений, которые используют.NET Framework. Отчасти привлекательность языка С# связана с его понятным синтаксисом, который происходит от синтаксиса C/C++, но упрощает некоторые вещи, которые ранее не находили одобрения среди многих программистов. Несмотря на это упрощение, язык С# обладает той же мощью, что и C++, и потому теперь нет никакой причины не переходить на его использование. Этот язык не сложен, что делает его замечательным кандидатом для изучения элементарных приемов программирования.
Программа на языке C# выполняется в среде.NET Framework - это новая и революционная платформа, созданная компанией Microsoft для разработки приложений..NET Framework состоит, прежде всего, из огромной библиотеки программ, к которой можно обращаться из различных языков программирования с помощью различных технологий объектно-ориентированного программирования.
Исходный код, написанный на языке C#, компилируется в промежуточный язык (IL) в соответствии со спецификацией CLI. Код IL и ресурсы, такие как растровые изображения и строки, хранятся на диске в исполняемом файле, называемом сборкой, с расширением EXE или DLL в большинстве случаев. Сборка содержит манифест со сведениями о типах сборки, версии, языке и региональных параметрах и требованиях безопасности.
1. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ПРОГРАММИРОВАНИЯ С ИСПОЛЬЗОВАНИЕМ ТЕХНОЛОГИЙ MICROSOFT.NET
Платформа NET Framework по большей части состоит из гигантской библиотеки кода, который можно использовать из клиентских языков путем применения различных приемов объектно-ориентированного программирования. Эта библиотека поделена на модули, которые применяются в зависимости от того, какие результаты требуется получить.
Для разработки клиентских приложений под Windows используются две технологии.NET: Windows Forms (WinForms) и Windows Presentation Foundation (WPF). Обе эти технологии -- по сути, набор классов и элементов управления пользовательского интерфейса (предоставляемых.NET Framework), позволяющих разработчикам быстро создавать приложения, которые инсталлируются и работают под управлением операционной системы Microsoft Windows.
Создание приложения Windows Forms в среде Microsoft Visual Studio 2010
Под написанием приложения с помощью NET Framework подразумевается просто написание кода с использованием одного из языков, поддерживающих NET Framework, и библиотеки кода.NET.
Для выполнения курсового проекта было использовано средство Microsoft Visual Studio 2010 - продукт компании Майкрософт, включающий интегрированную среду разработки программного обеспечения и ряд других инструментальных средств.
Одной из основных целей Visual Studio является обеспечение быстрого создания форм Windows Forms. При помощи визуального конструктора Windows Forms, панели инструментов Controls и различных элементов управления общего назначения.
Процесс создания приложения Windows Forms начинается точно так же, как и проекты всех других типов в Visual Studio: выбирается шаблон проекта Windows Application в диалоговом окне New Project и указывается местоположение исходных кодов приложения. Проекты типа Windows Forms Application состоят по умолчанию из класса формы и (в случае языка С#) из статического класса Program. После создания проекта мы получаем пустую форму, открытую в визуальном конструкторе Windows Forms.
Внутри визуального конструктора находится макет реальной формы - холст для интерфейса пользователя. При помощи этого холста можно добавлять на форму элементы управления и визуальные элементы, подстраивать внешний вид самой формы и переходить непосредственно к коду, который связан с формой.
Visual Studio выполняет за нас огромный объем работы, существенно упрощая создание функциональных оконных приложений и экономя наши усилия. Созданное приложение ведет себя так же, как и другие окна: его можно перемещать, закрывать, минимизировать и т. п.
Нам не требуется писать для этого никакого кода - все и так работает. То же самое справедливо и для кнопок, помещённых в окно. Достаточно два раза щелкнуть по ней мышью, чтобы Visual Studio понял: мы желаем иметь код, который должен выполняться при нажатии на эту кнопку. Все, что от нас требуется - это предоставить необходимый код.
Оконные приложения, естественно, не ограничиваются простыми формами с кнопками. Если посмотреть на панель с инструментами, то можно обнаружить большое количество самых разнообразных блоков, с помощью которых можно строить пользовательский интерфейс.
1.1Описание платформы NET Framework
При проектировании платформы Net Framework, компания Microsoft учла недостатки существующихWindows-платформ.NET Framework состоит из двух частей: общеязыковой исполняющей среды (commonlanguageruntime, CLR) и библиотеки классов (Framework Class Library, FCL). CLR предоставляет модель программирования, используемую во всех типах приложений. У CLR собственный загрузчик файлов, диспетчер памяти (сборщик мусора), система безопасности (безопасность доступа к коду), пул потоков и многое другое. Кроме того, CLR предоставляет объектно-ориентированную модель программирования, определяющую, как выглядят и ведут себя типы и объекты. FCL предоставляет объектно-ориентированный API-интерфейс, используемый всеми моделями приложений. В ней содержатся определения типов, которые позволяют разработчикам выполнять ввод/вывод, планирование задач в других потоках, создавать графические образы, сравнивать строки и т. п. Естественно, что все эти определения типов соответствуют существующей модели программирования в CLR. Ниже представлен список возможностей и преимуществ платформы NET:
- Полное и абсолютное межъязыковое взаимодействие. В .NET Framework.Поддерживаются межъязыковое наследование, межъязыковая обработка исключений и межъязыковая отладка.
- Общая среда выполнения для любых приложений .NET, вне зависимости от того, на каких языках они были созданы. Один из важных моментов при этом то, что для всех языков используется один и тот же набор встроенных типов данных.
- Единая программная модель. В отличие от существующего подхода, когда одни функции операционной системы доступны через процедуры динамически подключаемых библиотек (DLL), а другие - через СОМ-объекты, весь прикладной сервис представлен общей объектно-ориентированной программной моделью.
- Упрощенная модель программирования. Избавляет от работы с разными структурами, как это было с Win32 и СОМ. Так, разработчику не нужно разбираться с реестром, глобальными уникальными идентификаторами (GUID), IUnknown, AddRef, Release, HRESULT и т. д.
- Отсутствие проблем с версиями. Все Windows-разработчики знают о проблемах совместимости версий, известных под названием «DLL hell». Эта проблема возникает, когда компоненты, устанавливаемые для нового приложения, заменяют компоненты старого приложения, и в итоге последнее начинает вести себя странно или перестает работать. Архитектура .NET Framework позволяет изолировать прикладные компоненты, так что приложение всегда загружает компоненты, с которыми оно строилось и тестировалось. Если приложение работает после начальной установки, оно будет работать всегда.
- Упрощенное развертывание. Ранее Windows-приложения было очень трудно устанавливать и разворачивать: обычно нужно было создать массу файлов, параметров реестра и ярлыков. К тому же полностью удалить приложение практически невозможно. С приходом NET Framework все эти проблемы остаются в прошлом. Компоненты NET Framework не связаны с реестром. Установка приложений NET Framework сводится лишь к копированию файлов в нужные каталоги и созданию ярлыков. Удаление же приложений сводится к удалению файлов.
- Работа на многих платформах. При компиляции кода для .NET Framework компилятор генерирует код на общем промежуточном языке (CommonItermediateLanguage, CIL), а не традиционный код, состоящий из процессорных команд. При исполнении CIL транслируется в команды процессора. Поскольку трансляция выполняется в период выполнения, генерируются команды конкретного процессора. Это значит, что можно развертывать свое приложение NET Framework на любой машине, где работает версия .NET Framework соответствующая стандарту ЕСМА: с архитектурой х86, х64, IA64 и т. д.
- Интеграция языков программирования. Технология СОМ поддерживает взаимодействие разных языков - .NET Framework обеспечивает интеграцию разных языков, то есть один язык может использовать типы, созданные на других языках. Например, .NET Framework позволяет создать на C++ класс, производный от класса, реализованного на VisualBasic. В CLR это возможно из-за наличия общей системы типов (Common Type System, CTS), которую должны использовать все языки, ориентированные на CLR. Общеязыковая спецификация (Common Language Specification, CLS) определяет правила, которым должны следовать разработчики компиляторов, чтобы их языки интегрировались с другими. Сама Microsoft предлагает несколько таких языков: C++/CLI (C++ с управляемыми расширениями), С#, VisualBasic NET. Кроме того, другие компании и учебные заведения создают компиляторы других языков, совместимых с CLR.
- Упрощенное повторное использование кода. Все описанные выше механизмы позволяют создавать собственные классы, предоставляющие сервис сторонним приложениям. Теперь многократное использование кода становится исключительно простым и создается большой рынок готовых компонентов (типов).
- Автоматическое управление памятью (сбор мусора). Программирование требует большого мастерства и дисциплины, особенно когда речь идет об управлении использованием ресурсов (файлов, памяти, пространства экрана, сетевых соединений, ресурсов баз данных и прочих). Одна из самых распространенных ошибок - небрежное отношение к освобождению этих ресурсов, что может привести к некорректному выполнению программы в непредсказуемый момент. CLR автоматически отслеживает использование ресурсов, гарантируя, что не произойдет их утечки.
- Проверка безопасности типов CLR может проверять безопасность использования типов в коде, что гарантирует корректное обращение к существующим типам. Если входной параметр метода объявлен как 4-байтное значение, CLR обнаружит и предотвратит передачу 8-байтного значения в качестве значения этого параметра. Безопасность типов также означает, что управление может передаваться только в определенные точки (точки входа методов). Невозможно указать произвольный адрес и заставить программу исполняться, начиная с этого адреса. Совокупность всех этих защитных мер избавляет от многих распространенных программных ошибок (например, от возможности использования переполнения буфера для «взлома» программы).
- Развитая поддержка отладки. Поскольку CLR используется для многих языков, можно написать отдельный фрагмент программы на языке, наиболее подходящем для конкретной задачи, - CLR полностью поддерживает отладку многоязыковых приложений.
- Единый принцип обработки сбоев. Один из самых неприятных моментов Windows-программирования - несогласованный стиль сообщений о сбоях. Одни функции возвращают коды состояний Win32, другие - HRESULT, третьи генерируют исключения. В CLR обо всех сбоях сообщается через исключения, которые позволяют отделить код, необходимый для восстановления после сбоя, от основного алгоритма. Такое разделение облегчает написание, чтение и сопровождение программ. Кроме того, исключения работают в многомодульных и многоязыковых приложениях. И в отличие от кодов состояний и HRESULT исключения нельзя проигнорировать. CLR также предоставляет встроенные средства анализа стека, заметно упрощающие поиск фрагментов, вызывающих сбои.
- Безопасность. Традиционные системы безопасности обеспечивают управление доступом на основе учетных записей пользователей. Это проверенная модель, но она подразумевает, что любому коду можно доверять в одинаковой степени. Такое допущение оправданно, когда весь код устанавливается с физических носителей (например, с компакт-диска) или с доверенных корпоративных серверов. Но по мере увеличения объема мобильного кода, например Web-сценариев, приложений, загружаемых из Интернета, и вложений, содержащихся в электронной почте, нужен ориентированный на код способ контроля за поведением приложений. Такой подход реализован в модели безопасности доступа к коду.
- Взаимодействие с существующим кодом. В Microsoft понимают, что разработчики накопили огромный объем кода и компонентов. Переписывание всего этого кода, так чтобы он задействовал все достоинства NET Framework, значительно замедлило бы переход к этой платформе. Поэтому в .NET Framework реализована полная поддержка доступа к СОМ-компонентам и Win32-функциям в существующих динамических библиотеках DLL.
1.2 Особенности платформы .NET
WPF входит в состав платформы .NET, поэтому описание стоит начать именно с неё.
Корпорацией Microsoft предложен новаторский компонентно-ориентированный подход к программированию, который является развитием объектно-ориентированного направления. Согласно этому подходу, интеграция объектов (возможно, гетерогенной природы) производится на основе интерфейсов, представляющих эти объекты (или фрагменты программ) как независимые компоненты. Такой подход существенно облегчает написание и взаимодействие программных компонент в среде проектирования и реализации. Стандартизируется хранение и повторное использование компонент программного проекта в условиях распределенной сетевой среды вычислений, где различные компьютеры и пользователи обмениваются информацией, например, взаимодействуя в рамках исследовательского или бизнес-проекта.
Существенным преимуществом следует считать и возможность практической реализации принципа "всякая сущность является объектом" в гетерогенной программной среде. Во многом это стало возможным благодаря усовершенствованной, обобщенной системе типизации Common Type System, или CTS, которая будет подробнее рассмотрена в одной из следующих лекций.
Строгая иерархичность организации пространств для типов, классов и имен сущностей программы позволяет стандартизировать и унифицировать реализацию.
Новый подход к интеграции компонент приложений в среде вычислений Internet (или так называемые веб-сервисы) дает возможность ускоренного создания приложений для широкого круга пользователей.
Универсальный интерфейс .NET Framework обеспечивает интегрированное проектирование и реализацию компонентов приложений, разработанных согласно различным подходам к программированию.
Говоря о .NET как о технологической платформе, нельзя не отметить тот факт, что она обеспечивает одновременную поддержку проектирования и реализации программного обеспечения с использованием различных языков программирования. При этом поддерживаются десятки языков программирования, начиная от самых первых (в частности, COBOL и FORTRAN) и заканчивая современными (например, C# и Visual Basic). Ранние языки программирования до сих пор активно используются, в частности, для обеспечения совместимости с ранее созданными приложениями, критичными для бизнеса.
2. Проектирование и разработка приложения «Электронная записная книжка с функцией напоминания»
2.1 База данных Microsoft Access
Создание базы данных:
Сначала я создала три таблицы, в которых содержатся данные для подключения.
Первая таблица - Сотрудники.
В ней находятся все данные о сотрудниках:
Код сотрудника;
ФИО;
Номер телефона;
E-mail;
Должность.
Рисунок 2.1 - Таблица «Сотрудники» в Microsoft Access
Вторая таблица - Друзья.
В ней все данные о друзьях:
Код друга;
ФИО;
Домашний адрес;
Домашний телефон;
Сайт друга;
E-mail;
Телефон родителей;
Мобильный телефон;
День рождения;
Заметка.
Рисунок 2.2 - Таблица «Друзья» в Microsoft Access
Третья таблица - Организации.
В ней данные об организациях:
Код организации;
Название;
Адрес;
Телефон;
Сайт.
Рисунок 2.3 - Таблица «Организации» в Microsoft Access
2.2 Разработка Windows приложения
Для создания Windows приложения необходимо сначала создать проект. В окне нужно выбрать Приложение Windows Forms и задать имя проекта.
Рисунок 2.4 - Создание проекта
Затем начинаем создавать Windows формы. В Form 1 сделаем так, чтобы при запуске программы пользователь выбирал дату и только после этого переходил в записную книгу.
Рисунок 2.5 - Вид Form 1
После создаем Form 2. В ней будет пользователь выбирает категорию людей данные которых он хочет просмотреть.
Рисунок 2.6 - Вид Form 2
В третьей форме выводятся данные о друзьях. И у пользователя есть возможность добавлять, удалять и изменять информацию друзей.
Рисунок 2.7 - Вид Form 3
В четвертой форме выводятся данные о сотрудниках. И у пользователя есть возможность добавлять, удалять и изменять информацию.
Рисунок 2.8 - Вид Form 4
В четвертой форме выводятся данные об организациях. И у пользователя есть возможность добавлять, удалять и изменять информацию.
Рисунок 2.9 - Вид Form 5
В формах с 3 по 5 будут находиться данные, которые хранятся в Access. Для подключения базы данных необходимо: Данные -> Добавить новый источник данных. Откроется окно Мастер настройки источника данных, в нем выбираем База данных -> Набор данных и создаем подключение к Access. Затем проверяем подключение и OK. И в каждую форму переносим соответствующие таблицы.
Рисунок 2.10 - Подключение Access
Центральным элементом окна является элемент TabControl, который имеет 5 вкладок, имеющей в свою очередь по одной таблице с данными (DataGridView1, DataGridView2, DataGridView3, DataGridView4, DataGridView5). В них входят таблицы с данными о компьютерном центре, сотрудниках, клиентах, поставщиках, товарах и услугах, и доставке.
На главном окне расположены: главное меню программы (MenuStrip), вкладки (TabControl), панель инструментов для управления данными (BindingNavigator), строка состояния (StatusStrip).
В каждой вкладке данные загружаются в таблицу через компоненты BindingSource. Каждый компонент BindingNavigator настроен на соответствующий BindingSource (автомобили BindingSource, владельцы BindingSource, ремонтные_работы BindingSource, работники BindingSource, Отремонтировано BindingSource).
В главном меню программы расположена кнопка: Сохранить все изменения.
Поиск данных на главной форме реализован с помощью компонентов textbox и кнопок button. Для поиска данных необходимо ввести в одном из textBox соответствующее значение, после чего курсор в таблице перейдет на данное место или появится MessageBox со значениями, удовлетворяющими введенному.
На компоненте BindingNavigator оставлены те же значения, что и установлены по умолчанию: перемещение по таблице с помощью синих стрелочек. Перемещение выполняется по всем трем таблицам.
При нажатии на пункт «Сохранить все» появится MessageBox с вопросом о сохранении. В данном случае сохраняются все таблицы приложения. При сохранении появляется MessageBox с вопросом о сохранении. При нажатии на кнопку OK все внесенные данные в таблицу сохранятся. При нажатии Cancel сохранение будет отменено.
Рисунок 2.17 - MessageBox с вопросом о сохранении внесенных изменений
2.3 Элементы управления
Любое окно приложения для Windows , представляет собой форму, порожденную от класса System.Windows.Forms.Form.
Откроем новый проект - проект Windows Application. Проект создается по аналогии с Console Appliation. Перед нами появится пустая поверхность окна приложения - форма. Размер, местоположение, цвет фона, имя заголовка и другие свойства формы можно изменять с помощью окна свойств - Properties (отображение свойств выбранного элемента и событий, связанных с ним).
Панель Properties содержит следующие разделы свойств:
Accessibility ? достижимость
Appearance ? вид
Behavior ? поведение
Configurations ? конфигурации
Data ? данные
Design ? проект
Focus ? центр
Layout ? размещение
Window style ? стиль окна
Используя раздел свойств Accessibility можно изменять:
*цвет поверхности - BackColor (по умолчанию такого же цвета будут все элементы управления);
*фоновую картинку ? BackgroundImage,
*вид курсора ? Cursor,
*цвет шрифта ? ForeColor,
*стиль окна ? FormBorderStyle,
*текст заголовка формы ? Text ,
*местоположение текста заголовка формы ? RightToLeft
Используя раздел свойств Layout можно изменять:
*размер окна ? Size
*параметр, определяющий начальную позицию ? StartPosition,
*координаты левого верхнего угла формы ? Location (актуален, если StartPosition = Manual),
*вид начального отображения формы (минимизированное, нормальное или максимизированное) ? WindowState,
*размер формы в максимизированном состоянии ? MaxsimumSize,
*размер формы в минимизированном состоянии ? MinimumSize,
Используя раздел свойств Window style можно изменять:
*вид иконки ? Icon
*доступность кнопки максимизации ?MaximizeBox
*доступность кнопок минимизации ? MinimizeBox
и т.д.
Легко заметить, что мы можем изменять размеры формы не только с помощью панели свойства (Properties), но и с помощью мыши, при этом размеры (Size) будут меняться автоматически.
Поэкспериментируйте с этими и другими свойствами, посмотрите изменения на форме, связанные с изменением свойств.
Так же можно увидеть панели:
*Server Explorer (подключение к проекту БД),
*Solution Explorer (отображение подключенных проектов, файлов, пространств имен и т.п.),
*Dynamic Help (отображение справочной информации),
*Toolbox (на поверхность формы можно добавлять различные элементы управления) и другие (в зависимости от настроек пользователя этих панелей можно не обнаружить!). Возможности, связанные с другими панелями, так же весьма интересны, но их рассмотрение не входит в цели данной лабораторной работы.
Добавить дополнительные панели можно через пункт меню "View".
Теперь, когда вы более или менее усвоили свойства (Properties), связанные с формой, можно рассмотреть события. На той же панели свойств есть кнопка с пиктограммой "молния". Щелкнем на ней. При этом отобразятся различные события, связанные:
*с мышью (движение, движение в определенных направлениях, вход или выход из определенной области, нажатиями клавиши мыши),
*с нажатием клавиши клавиатуры,
*с рисованием,
*с изменением стиля,
*с размером окна, и многие другие (подробнее с теми или иными событиями можно ознакомиться самостоятельно, используя источники с более глубокой детализацией материала).
Чтобы задействовать то или иное событие достаточно лишь дважды щелкнуть на его названии и компилятор автоматически создаст имя и тело метода, который будет обрабатывать выбранной событие. Так же можно ввести самостоятельно имя метода и сметить фокус от выбранного события - тело метода создастся автоматически с введенным именем! Существует еще и третий способ: сначала создается метод обрабатывающий событие, а затем выбирается в выпадающем списке! В тело метода необходимо поместить все, что необходимо для обработки события.
2.4 Модель программирования Windows Forms
В Windows Forms термин «форма» -- синоним окна верхнего уровня. Главное окно приложения -- форма. Любые другие окна верхнего уровня, которые имеет приложение -- также формы. Окна диалога также считаются формами. Несмотря на название, приложения, использующие Windows Forms, не выглядят как формы. Подобно традиционным Windows-приложениям приложения осуществляют полный контроль над событиями в собственных окнах.
Программисты видят Microsoft .NET через линзу .NET Framework class library. Представьте MFC на порядок больше и вы получите точную картину о ширине и глубине .NET Framework class library. Чтобы облегчить противоречия в обозначениях и придать организацию многим сотням классов, .NET Framework class library разбита на иерархические разделы по именам. Корневой раздел, System, определяет фундаментальные типы данных, используемые всеми приложениями .NET.
Приложения, использующие Windows Forms используют классы System.WinForms. Этот раздел включает такие классы, как Form, который моделирует поведение окон или форм; Menu, который представляет меню; Clipboard, который дает возможность приложениям Windows Forms использовать буфер обмена. Он также содержитмногочисленные классы, предоставляющие средства управления, например: Button,TextBox, ListView, MonthCalendar и т.д. Эти классы могут быть включены в приложение либо с использованием только имени класса, либо с использованием полного имени, например: System.WinForms.Button.
В основе почти каждого приложения, написанного с применением Windows Forms, -- производный класс от System.WinForms.Form. Образец этого класса представляет главное окно приложения. System.WinForms.Form имеет множество свойств и методов, которые имеют богатый программный интерфейс к формам. Хотите знать размеры клиентской области формы? В Windows вы вызвали бы функцию API GetClientRect. В Windows Forms нужно использовать свойства ClientRectangle или ClientSize.
Приложения, основанные на Windows Forms, которые используют кнопки, списки и другие типы компонентов Windows, используют классы управления System.WinForms, значительно упрощающие программирование управления. Хотите создать стилизованную кнопку с изображением в виде фона? Нет проблем. Включите требуемое изображение в объект System.Drawing.Bitmap и назначьте его свойству кнопки BackgroundImage. Как насчет управления цветом? Вы когда-либо пробовали настраивать цвет фона текстового поля? В Windows Forms это просто: нужно просто присвоить цвет свойству BackColor, все отстальное система сделает сама.
Другой важный «строительный» блок приложения, который использует Windows Forms -- класс System.WinForms по имени Application. Этот класс содержит статический метод Run, который загружает приложение и отображает окно.
Если приложения, которые являются Windows Forms, не обрабатывают сообщения, как они отвечают на пользовательский ввод или знают когда рисовать? Много классов имеют виртуальные методы, которые можно переопределить. Например, System.WinForms.Form содержит виртуальный метод OnPaint, который вызывается, когда клиентская область формы нуждается в обновлении. OnPaint -- один из многих виртуальных методов, который можно переопределить в производном классе для формирования интерактивных форм.
Другая важная грань модели программирования Windows Forms -- механизм, который формы используют для ответа на ввод в меню, средств управления и других элементов GUI приложения. Традиционные Windows-приложения обрабатывают сообщения WM_COMMAND и WM_NOTIFY используя события процесса Windows Forms. В C# и на других языках, которые поддерживают .NET Common Language Runtime (CLR), события -- члены типа первого класса наравне с методами, полями и свойствами. Фактически все управляющие классы (control classes) Windows Forms (а также и многие не управляющие классы) создают события. Например, кнопка (экземпляр System.WinForms.Button) после нажатия создает событие Click. Форма, которая должна ответить на нажатие кнопки может использовать следующий код, чтобы соединить кнопку с обработчиком события Click:
MyButton.Click += new EventHandler (OnButtonClicked);
private void OnButtonClicked (object sender, EventArgs e)
{
MessageBox.Show («Click!»);
}
EventHandler -- специальный обработчик событий, который выполняет метод OnButtonClicked когда MyButton создает событие Click. Первый параметр OnButtonClicked идентифицирует объект, который вызвал событие. Второй параметр в основном бессмыслен для события Click, но используется некоторым другие типами событий, чтобы передать дополнительную информацию.
3. Информационное и программное обеспечение
3.1 Функциональное назначение программы
Данная программа предназначена для администрирования базы данных компьютерного центра.
Программа позволяет пользователю работать с базой данных созданной в СУБД Microsoft Access. Программа реализует возможности: добавления, изменения, удаления, поиска информации в базе данных. При нажатии кнопок на панели инструментов можно перейти в справочники.
При запуске программы появляется окно, в которое вводим пароль и логин. Если пароль и логин правильно введен, то появляется приветствующее окно. Если нет, то в новом окне выводится информация о неправильности пароля. В случае правильного ввода пароля в новом окне мы можем выбирать нужные нам данные, открывается окно база данных выбранное нами. В информационном окне можно дополнять, и удалять информацию.
В окне база данных «Сотрудники» выводятся все данные о сотрудниках: Код сотрудника, ФИО, Должность, Номер телефона, Паспортные данные и ИНН. Также в этом окне, можно добавлять, удалять и сохранять новые данные.
Рисунок 3.1 - Добавление/редактирование таблицы «Сотрудники»
В окне база данных «Друзья» выводятся все данные о друзьях: Код друга, ФИО, Домашний адрес, Домашний телефон, Сайт, E-mail, телефон родителей, Мобильный, День рождения. Также и в этом окне, можно добавлять, удалять и сохранять новые данные.
Рисунок 3.2 - Добавление/редактирование таблицы «Друзья»
В окне база данных «Организации» выводятся данные о товарах и услугах: Код организации, Название, Адрес, Телефон, Сайт. Также и в этом окне, можно добавлять, удалять и сохранять новые данные.
Рисунок 3.3 - Добавление/редактирование таблицы «Организации»
Существует следующее функциональное ограничение на применение приложения - в поля с числовыми значениями нельзя вводить символьные значения, иначе программа остановит свою работу, до момента пока пользователь не введёт числовое значение.
3.2 Описание логической программы
При запуске программы происходит подключение стандартных библиотек:
System; System.Collections.Generic;
System.Linq;
System.Windows.Forms и выполнение функции static void Main(). В которой выполняется включение визуальных стилей и запуск Form1. Происходит инициализация компонентов окна и запуск Form10,
Пользователю необходимо ввести пароль для доступа. При нажатии кнопки «Покинуть приложение» происходит выполнение метода Application.Exit(); и приложение завершает свою работу, если пользователь правильно ввёл пароль и нажал кнопку «Ввод» текущее окно закрывается и происходит загрузка главного окна, в котором происходит загрузка данных в таблицу и запуск метода sost();.
После чего программа находится в состоянии ожидания прерывания. При нажатии кнопки «добавить» или «редактировать» происходит загрузка окна редактирования в котором можно внести новые данные или отредактировать уже имеющиеся. При нажатии кнопки «сохранить» в этом окне происходит закрытие окна редактирования и все изменения заносятся в таблицу. Для того чтобы изменения сохранить в базе данных нужно нажать кнопку «сохранить» главного окна. Также из этого окна можно перейти в спавочники щёлкнув по кнопкам на панеле инструментов или выбрав в меню. В справочниках щёлкая по соответствующим кнопкам можно выполнять: добавление, удаление, изменение, поиск записи а также сохранение или отмену изменений с последующим выходом.
В главном окне можно осуществлять выборку данных из таблицы, для этого нужно выбрать необходимые значение в TextBox1 и TextBox2 и нажать кнопку «Сортировать» в результате чего в окне будут отображены записи удовлетворяющие условию сортировки. Можно выгрузить эти записи в EXCEL, щёлкнув по кнопке на главном окне. Для того чтобы показать все данные в таблице нужно нажать кнопку «Показать всё».
Для выхода из программы необходимо выбрать пункт «выход» в меню программы.
Таблица 1 - Спецификация функций модуля «имя модуля» (сборка)
Прототип функции |
Назначение |
|
System IO |
Содержит типы, позволяющие осуществлять чтение и запись в файлы и потоки данных, а также типы для базовой поддержки файлов и папок. |
|
System DATA |
содержит классы для доступа к данным из различных источников и для управления этими данными. |
|
System Forms |
Данная библиотека позволяет создавать диалоговые окна и связь между ними. |
|
System Text |
Содержат типы для работы с кодировками символов и для управления строками. Позволяет обрабатывать текст с использованием регулярных выражений. |
|
System ComponentModel |
содержат типы, реализующие поведение компонентов и элементов управления во время разработки и выполнения. Данное пространство имен включает базовые классы и интерфейсы, предназначенные для реализации преобразователей атрибутов и типов, для привязки к источникам данных и для лицензирования компонентов. |
|
System Drawing |
Родительское пространство имен содержит типы, поддерживающие базовые графические функции GDI+. Дочерние пространства имен поддерживают более сложные функции двухмерной и векторной графики, дополнительные функции обработки изображений. |
Таблица 2 - Спецификация класса
Поле класса (метод) |
Способ доступа |
Назначение |
Назначение параметров методов класса |
|
void dobav(Form3 x, bool z) |
Public |
Добавление новой строки в таблицу и передача значений в строку из элементов окна редактирования. |
bool z необходим чтобы определить нужно добавить новую строку или редактировать имеющуюся.Form3 x необходим для доступа к элементам окна редактирования |
|
void obnov(Form3 x) |
Public |
Передача значений выбранной строки в окно редактирования. |
Form3 x необходим для доступа к элементам окна редактирования |
|
void sort() |
Private |
Сортировка значений в таблице главного окна. |
||
void sost() |
Private |
Выводит количество строк и номер выбранной строки в панель состояния |
||
void searchInDataGridView() |
Public |
Осуществляет поиск в таблице |
||
void combo() |
Private |
Определяет данные в ComboBox2 в зависимости от того какое значение выбрано в ComboBox1. |
||
void excel() |
Private |
Выгрузка таблицы в EXCEL. |
3.3 Описание входных и выходных данных
Входными данными называются база данных созданная в Microsoft Access.
Выходными данными являются таблицы выбранные пользователем из списка меню.
3.4 Требования к техническому и программному обеспечению
Для корректной работы программы необходимы IBM PC совместимый компьютер, оперативная память 128 Mb и выше, свободное место на диске 5500 Кбайт под размещение приложения, наличие монитора.
3.5 Руководство пользователя
Программа представляет собой проект созданный в Visual studio C# 2010, запускаемый в любой операционной системе семейства Windows. Чтобы просмотреть текст программы или запустить её на выполнение - надо скопировать с носителя папку с проектом на жёсткий диск компьютера. Чтобы просмотреть текст программы, шаблоны диалоговых окон и др., то следует открыть файл с расширением.sln, являющийся файлом проекта.
Заключения и выводы
В ходе выполнения курсового проекта я создала Windows-приложение «Электронная записная книжка» с возможностью добавления, удаления, сохранения, редактирования таблицы.
В ходе разработки курсового проекта была освоена работа с различными элементами интерфейса, работа с мастерами Visual C# 2010. А также работа с базой данных.
Список литературы
1. Нортроп, Т. Основы разработки приложений на платформе Microsoft .NET Framework. Учебный курс Microsoft. Перевод с англ./ Т. Нортроп, Ш. Уилдермьюс, Б. Райан. - М.: «Русская редакция», 2010. - 864 с.
2. Шилдт, Г. C#, учебный курс. / Г. Шилдт. - СПб.: Питер, 2010. - 512 с.
3. Робинсон, С. C# для профессионалов. Том 1. / С. Робинсон, О. Корнес, Д. Глин, Б. Харвей. - М.: Лори, 2010. - 1002 с.
4. Робинсон, С. C# для профессионалов. Том 2. / С. Робинсон, О. Корнес, Д. Глин, Б. Харвей. - М.: Лори, 2010. - 998 с.
5. Троелсен, Э. Язык программирования C# 2012 и платформа .NET 4.5: Пер с англ. / Э. Троелсен. - М.: ООО «И.Д. Вильямс», 2013. - 1168 с.
6. Методические указания к выполнению лабораторных работ по дисциплине «Технологии программирования» для студентов специальности 230400 "Информационные системы и технологии" / сост. Николаев Е.И.; рец. Мочалов В.П. - Ставрополь: СКФУ, 2012. - 50 с.
7. Учебное пособие «Технологии программирования» для студентов специальности 230400.62 «Информационные системы и технологии» / сост. Николаев Е.И.; рец. Мочалов В.П, Маликов А.В. - Ставрополь : СКФУ, 2013. - 150 с.
Приложение
Листинг программы
Form 1:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Курсовая_работа
{
public partial class Календарь : Form
{
public Календарь()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
Form2 f2 = new Form2();
f2.Show();
}
}
}
Form 2:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Курсовая_работа
{
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void Form2_Load(object sender, EventArgs e)
{
}
private void label2_Click(object sender, EventArgs e)
{
}
private void Друзья_Click(object sender, EventArgs e)
{
Form3 f3 = new Form3();
f3.Show();
}
private void button2_Click(object sender, EventArgs e)
{
Form4 f4 = new Form4();
f4.Show();
}
private void button3_Click(object sender, EventArgs e)
{
Form5 f5 = new Form5();
f5.Show();
}
}
}
Form 3:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Курсовая_работа
{
public partial class Form3 : Form
{
public Form3()
{
InitializeComponent();
}
private void друзьяBindingNavigatorSaveItem_Click(object sender, EventArgs e)
{
this.Validate();
this.друзьяBindingSource.EndEdit();
this.tableAdapterManager.UpdateAll(this.электронная_записная_книжкаDataSet);
}
private void Form3_Load(object sender, EventArgs e)
{
// TODO: данная строка кода позволяет загрузить данные в таблицу "электронная_записная_книжкаDataSet.Друзья". При необходимости она может быть перемещена или удалена.
this.друзьяTableAdapter.Fill(this.электронная_записная_книжкаDataSet.Друзья);
}
}
}
Form 4:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Курсовая_работа
{
public partial class Form4 : Form
{
public Form4()
{
InitializeComponent();
}
private void сотрудникиBindingNavigatorSaveItem_Click(object sender, EventArgs e)
{
this.Validate();
this.сотрудникиBindingSource.EndEdit();
this.tableAdapterManager.UpdateAll(this.электронная_записная_книжкаDataSet);
}
private void Form4_Load(object sender, EventArgs e)
{
// TODO: данная строка кода позволяет загрузить данные в таблицу "электронная_записная_книжкаDataSet.Сотрудники". При необходимости она может быть перемещена или удалена.
this.сотрудникиTableAdapter.Fill(this.электронная_записная_книжкаDataSet.Сотрудники);
}
}
}
Form 5:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Курсовая_работа
{
public partial class Form5 : Form
{
public Form5()
{
InitializeComponent();
}
private void организацииBindingNavigatorSaveItem_Click(object sender, EventArgs e)
{
this.Validate();
this.организацииBindingSource.EndEdit();
this.tableAdapterManager.UpdateAll(this.электронная_записная_книжкаDataSet);
}
private void Form5_Load(object sender, EventArgs e)
{
// TODO: данная строка кода позволяет загрузить данные в таблицу "электронная_записная_книжкаDataSet.Организации". При необходимости она может быть перемещена или удалена.
this.организацииTableAdapter.Fill(this.электронная_записная_книжкаDataSet.Организации);
}
}
}
Исходный код метода Program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace Курсовая_работа
{
static class Program
{
/// <summary>
/// Главная точка входа для приложения.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Календарь());
}
}
}
Размещено на Allbest.ru
...Подобные документы
Описание платформы NET Framework. База данных Microsoft Access. Разработка Windows приложения. Модель программирования Windows Forms. Функциональное назначение программы. Входные и выходные данные. Требования к техническому и программному обеспечению.
курсовая работа [2,2 M], добавлен 15.03.2015Программирование с использованием технологий Microsoft .NET. Разработка приложения "Станция технического обслуживания автомобилей": инфологическое, даталогическое проектирование базы данных. Информационное и программное обеспечение, логическая структура.
курсовая работа [1,6 M], добавлен 03.07.2011Разработка Windows-приложений с использованием библиотеки MFC. Базовый набор классов, написанных на языке С++ и предназначенных для упрощения процесса программирования под Windows. Фундаментальные идеи объектно-ориентированного программирования.
курсовая работа [348,1 K], добавлен 02.07.2011Создание приложения Windows Forms в среде Microsoft Visual Studio 2008. Разработка программы "Курсовой" для организации работы по учёту курсовых работ в учебных заведениях с возможностью добавления, удаления, редактирования и поиска информации.
курсовая работа [2,2 M], добавлен 28.06.2011Техника создания графики при помощи API функций, экспортируемых библиотекой GDI32.DLL. Разработка на языке программирования С++ в среде программирования Microsoft Visual C++ программы для отображения часов реального времени в цифровом и аналоговом виде.
курсовая работа [2,8 M], добавлен 27.01.2010Рассмотрение основных этапов создания приложения "Записная книжка", основное предназначение. Анализ способов выбора среды программирования. Знакомство с элементом управления Data Grid View. Общая характеристика методов конструкции языка программирования.
контрольная работа [1002,4 K], добавлен 21.06.2014Теоретические основы написания Windows-приложений с использованием библиотеки MFC. Основы программирования под Windows. Проектирование приложений в среде Microsoft Visual C++. Описание логической структуры приложения, его функциональное назначение.
курсовая работа [1,3 M], добавлен 12.12.2011Разработка приложения Windows "Учет заказов и продаж". Структура базы данных, информационное и программное обеспечение. Описание программы на языке Visual C+ с использованием технологии Microsoft.net, элементы управления и руководство пользователя.
курсовая работа [4,8 M], добавлен 25.06.2011Изучение основных методов разработки программ для операционных систем семейства Windows с применением технологий .NET. Анализ возможностей интегрированной среды разработки Microsoft Visual Studio, языка C# и создание приложения "пункт видеопроката".
курсовая работа [1014,7 K], добавлен 28.06.2011Общие положения по программированию в интерфейсе Windows Forms. Среда разработки MicrosoftVisualStudio, ее главные особенности и характеристика. Создание эмулятора пункта меню Microsoft Office Word "Формат-Шрифт" с использованием интерфейса Windows Forms.
курсовая работа [3,4 M], добавлен 26.01.2013Изучение алгоритмов, написание программ на языке C#. Работа с массивами, строками, перечислениями, структурами, интерфейсами. Разработка и функциональность Windows-приложения. Создание и подключение баз данных в среде программирования Visual Studio 2019.
отчет по практике [6,7 M], добавлен 18.10.2020Разработка программного приложения Windows Forms для работы с базой данных на языке высокого уровня в автономном режиме с использованием ADO.NET. Создание консольных приложений (варианты метода Main), выполнение запросов к SQL серверу и листинг программ.
курсовая работа [2,4 M], добавлен 16.06.2014Необходимость создания и исполняемые функции базы данных "Записная книжка руководителя". Описание схемы "объект-отношение", обоснование выбора модели данных, процесс нормализации данных и описание таблиц. Преимущества программы Microsoft Access 2000.
курсовая работа [324,0 K], добавлен 09.03.2009Основы программирования на 32-битном Ассемблере, разработка с его помощью программы, демонстрирующей работу одного из разделов ОС Windоws. Описание используемых АРI-функций как интерфейса программирования приложений. Листинг программы, результаты работы.
курсовая работа [164,5 K], добавлен 18.05.2014Разработка приложения в среде Microsoft Windows XP SP3 на базе программ Microsoft Office 2007, содержащего электронные таблицы для расчета прибыли магазина "Компьютер стиль" за 2009 год. Информационная и математическая модели объекта проектирования.
практическая работа [348,6 K], добавлен 12.05.2011Теоретические сведения о возможностях Microsoft.NET. Разработка Windows-приложения на платформе Microst.NET: функциональное назначение, описание логической структуры, изучение требований по установке и техническому обеспечению программного продукта.
курсовая работа [3,8 M], добавлен 28.06.2011Написание программы на языке Delphi - создание электронной записной книжки. Описание типов "запись", полей и массива, составление процедур. Создание приветствия и редактирование записи. Создание команды для вызова справки. Принцип работы программы.
контрольная работа [17,9 K], добавлен 23.09.2010Сканеры, их назначение. Сетевое программное обеспечение. Таблицы в Microsoft Access и создание межтабличных связей. Документ в пакете Microsoft Excel, включающий в себя таблицу с исходными данными, расчетными формулами, результатами расчета, графиком.
дипломная работа [291,8 K], добавлен 27.02.2009Разработка в среде Delphi приложения "Записная книжка" для ввода и корректировки информации, поиска данных. Выбор состава технических и программных средств. Текст программы, ее описание и тестирование. Основные условия программы, требования к компьютеру.
курсовая работа [565,7 K], добавлен 08.12.2011Разработка базы данных "Аптека" в Microsoft Access, построение ее визуальной части в Delphi. Технологии связывания Microsoft Access со средой программирования Delphi. Создание запросов поисков. Реализация таблиц: продавцы, товары, чеки, поставка, счета.
курсовая работа [3,7 M], добавлен 04.03.2014