Главная · Карта сайта · Поиск · Статьи · Компьютерные курсы · Обучающие программы · Открытые проекты · Веб-программирование · Создание интернет-сайта · Полезные ссылки · Глоссарий · Контакты · Декабрь 06 2016 22:53:06
Последнее опубликованное

Что такое Model-View-Controller
Pattern Model-View-Controller

Как создать свой веб-сайт
Как создать свой сайт в интернете

Разное
Статистика

Основы программирования. Графический интерфейс


Содержание курса

Графический интерфейс должен быть не только ярким, но и дружественным по отношению к пользователю...

Шаг 12. Первое GUI приложение

На этом шаге будем проводить “модернизацию” приложения работы с базой данных, представленного на предыдущем шаге, нацеленную на то, чтобы сделать эту самую работу более удобной для пользователя. Для решения этой задачи будет использован графический пользовательский интерфейс или GUI, что будет сделано впервые в рамках текущего курса программирования. Платформа Microsoft .NET Framework для таких целей предоставляет целых две библиотеки программных компонентов: проверенная временем Windows.Forms и относительно молодая PresetnationFramework, основанная на технологии Windows Presentation Framework (WPF). Я буду использовать первую, поскольку это проще, хотя WPF позволяет создавать более красивый и гибкий графический интерфейс. В качестве цели этого шага я для себя определил не изучение особенностей работы с Windows.Forms, а демонстрацию общих принципов работы с элементами пользовательского интерфейса, которые существенно отличаются от принципов организации приложений с неграфическим (консольным) интерфейсом.

Описание задачи

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

Первое GUI приложение
Первое приложение с графическим интерфейсом.

Описание реализации

Отличие приложений с графическим пользовательским интерфейсом от консольных приложений в том, что для них нет необходимости самостоятельно организовывать бесконечный цикл, как это было сделано на предыдущем шаге с использованием цикла while и переменной Continue. Достаточно описать форму (окно) и открыть его в режиме диалога, что заставит ваше приложение работать, пока это окно не будет закрыто. Далее, вы определяете методы, которые будут обрабатывать события, происходящие с элементами вашего пользовательского интерфейса. В нашем случае мы будем следить за изменением текста запроса и нажатием на кнопки ‘Выполнить SQL’ и ‘Завершить работу’. То, как эти методы “привязываются” к соответствующим событиям отличается даже в C# и VB.NET, поэтому особого внимания подобным тонкостям уделять не стоит – достаточно будет изучить исходный код, написанный на каждом из этих языков программирования. Для понимания общей логики работы подобного приложения достаточно осознать следующие моменты.

  1. В начале приложения описывается и создается диалоговая форма (окно Windows), элементы которой связываются с вашей программой посредством обработчиков событий.

  2. Для каждого элемента может быть определено несколько событий, каждое со своим обработчиком. Скажу больше, отдельное событие может иметь более одного обработчика.

  3. Обработчики событий могут включать или отключать “активность” элементов управления в зависимости от их состояния. В нашем случае кнопка ‘Выполнить SQL’ становится активной только тогда, когда введено непустое значение запроса.

  4. Код программы в основном представлен набором обработчиков событий. Основной код нашей программы сосредоточен в обработчике события ‘Выполнить SQL’ – методе RunSQLClick().

  5. Работа программы завершается (чаще всего это так) после закрытия диалоговой формы. В нашем случае это происходит после нажатия на ‘крест’ справа вверху окна или после нажатия на кнопку ‘Завершить работу’.

В программе этого шага, помимо класса DataManager, описанного еще на предыдущем шаге, определен еще один класс – MyConsole. Главным методом этого класса является метод Run(), который на вход принимает строку - путь к базе данных. Метод Run() последовательно выполняет следующие действия:

  1. Создает экземпляр DataManager, выполняет соединение с базой данных и начинает новую транзакцию.

  2. Создает диалоговое окно и его элементы пользовательского интерфейса. Связывает события пользовательского интерфейса с методами – обработчиками событий (в случае C#). Размещает элементы на окне, путем добавления их в соответствующую коллекцию и определения значений их относительных координат.

  3. Открывает диалоговое окно. С этого момента приложение начинает общаться с пользователем.

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

Исходный код программ

На языке C#.
На языке VB.NET.

Тестовый набор данных

Файл базы данных Microsoft Access Data.rar (Data.mdb).

Самостоятельно

Ну, к минусам реализации этой программы можно отнести все те же недостатки, которые я указал на предыдущем шаге. В частности, путь к базе данных желательно читать из внешнего файла или выбирать явно посредством экземпляра класса OpenFileDialog. Более серьезный пример приложения для работы с базой данных посредством графического интерфейса рассматривается здесь.



Компьютерные курсы и курсы программирования
Основы программирования

Курс для начинающих программистов на C# и VB.NET.

SQL 25™

Построение SQL запросов и работа с базой данных.

C# Quick Guide™

Программирование на C#. Краткое руководство.

RegEx

Применение регулярных выражений.

Plug-in архитектура

Примеры программной Plug-in архитектуры.

XML и его расширения

Язык разметки XML и его расширения с примерами.

HTML и разметка гипертекста

Языки HTML, XHTML и CSS с примерами разметки.

Основы веб-дизайна

Основы веб-дизайна: решения типовых задач верстки.

Программирование на PHP

Руководство по программированию на PHP для начинающих.

Справочные материалы

Шаблоны проектирования
Каталог шаблонов проектирования программных компонентов.

Рефакторинг кода
Каталог приемов рефакторинга программного кода.

Гость
Имя

Пароль



Забыли пароль?
Запросите новый здесь
.
Coding Craft. Все права защищены © 2011. Проект Инициативного Народного Фронта Образования - ИНФО-проект.