Основы проектирования корпоративных систем - Сергей Зыков
Шрифт:
Интервал:
Закладка:
Итак, какие базовые элементы включает технология Windows Forms? Другими словами, какие интерфейсные элементы содержатся в этой библиотеке классов? Отметим важные особенности – все эти элементы являются интерактивными, т. е. дают возможность пользователю взаимодействовать с элементами управления, входящими в состав форм.
Определим понятие «форма». Форма – это поверхность, которая визуально доступна пользователю, где отображается информация, необходимая ему. Под пользователем подразумеваются различные классы бизнес-пользователей, топ-менеджеров, нуждающихся в консолидированной информации на уровне корпорации или отдельного региона об управлении людскими и финансовыми ресурсами. Рассматривая пользователей более низкого ранга, можно детализировать информацию до определенного уровня подразделения – департамента, отдела, вплоть до сотрудника. Кроме того, в корпорации существует большое количество администраторов сети, пользовательских приложений, баз данных, которые тоже являются пользователями и применяют эту технологию каждый день на своем рабочем месте.
Еще одним важным элементом Windows Forms является элемент управления, или Control. По сути, это некий атом функциональности пользовательского интерфейса. Скажем, элементарная командная кнопка, или переключатель, или флажок, или строка ввода данных, которая предназначена для ввода или отображения данных, является достаточно примитивным элементом библиотеки Windows Forms и надстраивается над. NET Framework. Windows Forms – это некий класс, который представляет собой с точки зрения программирования код на языке C# и во многом для удобства бизнес-пользователей строится визуально, поскольку речь идет о достаточно сложных манипуляциях графическими объектами, достаточно сложным и ресурсоемким по времени занятием является ручная настройка формы. Если мы будем выверять форму и ее размеры вплоть до пикселя, процесс проектирования займет огромное время (если вводить линейные размеры вручную, код каждого управления и т. д.). Конечно же, визуальное создание приложений, особенно с таким приятным и удобным интерфейсом, который предоставляет Visual Studio.Net, является предпочтительным. Таким образом, создание элемента Windows Forms происходит так: сначала рисуется форма – прямоугольный объект, после этого на форму (как бы поверх) набрасываются, добавляются с помощью drag&drop (как фишки на игровое поле) те или иные элементы управления. Они упорядочиваются, при этом все это тоже происходит визуально. И все необходимые атрибуты для управления формой производятся автоматизированно в средстве Visual Studio.Net. Кроме того, определены базовые сценарии действий для основных событий, которые может инициировать пользователь, такие как щелчок мыши, двойной щелчок, нажатие клавиши, drag&drop, горячие клавиши и др.
Теперь рассмотрим, как выглядит визуальный интерфейс в Visual Studio.Net в Windows Forms. Скриншот Visual Studio при создании формы представлен на рис. 9.1.
Рис. 9.1. Интерфейс Visual Studio.NET
Итак, сначала создали элементарную форму Form1.cs, т. е. код, который описывает все ее детали – линейные размеры, имя, ряд других аспектов. В частности, можно заметить, что на ней расположена командная кнопка button1. Все это задается автоматически при перемещении кнопки из репозитория основных элементов формы, доступных в Visual Studio. Как только создали форму, становятся доступными и стандартные кнопки, к которым мы привыкли в Windows, – минимизация формы, разворачивания на весь экран, закрытия. И, естественно, все коды, связанные с событиями, доступны автоматически, и этот код уже существует.
В окне Solution Explorer мы видим, что нами создан код Form1.cs – это код на C#. А в правом окне мы видим все метаданные. У этой формы есть файл designer, файл ресурсов – res, где описаны все метаданные, и есть окно свойств, где описаны основные параметры этой формы. В частности, видно, что размер линейный в самом нижней строчке скриншота, является 300 на 300 точек. Кроме того, программный код создан на C# и описывает все действия, которые будут производиться с этой формой. Рассмотрим, каким образом происходит управление событиями, связанными с формами, каким образом пользователь может осуществлять контакт с формой. Речь идет об обработке событий. При взаимодействии пользователя с формой, при визуальном ее изменении: щелчок на «свернуть», drag&drop, щелчок левой кнопкой мыши по кнопке Button1, и целым рядом других действий пользователя автоматически генерируется событие – Event. Приложение реагирует на событие с помощью кода. Существует некий код на C#, связанный с событиями. Он автоматически активизируется при обработке события.
В окне «Свойства» (Properties) на рис. 9.1 мы можем увидеть список событий, которые связаны с этой кнопкой. Интересно, что справа от имени кнопки button1 мы видим, что она расположена в пространстве имен System.Windows.Forms.Form1, т. е. в том классе, который описывает форму, и кнопка является ее атрибутом. Далее следует список событий. Например, событие click – однократный щелчок по Button1. Если мы откроем свойство, связанное с этим событием, мы можем просмотреть стандартный код и изменить его, если это необходимо.
В описании события «щелчок левой кнопкой мыши» по командной кнопке Button1 присутствует код, представленный на рис. 9.2.
Рис. 9.2. Код события «щелчок левой кнопкой мыши»
Возникает класс Form1, который является, по сути, подклассом стандартного класса Form, и внутри существует метод, также общедоступный, который называется Form1 – по сути конструктор. Он вызывает единственный метод InitializeComponent. Дальше отправляется событие, что форма начала существовать с некими аргументами, связанными с событиями этой формы (е). Это также фигурирует в окне свойств Button1.
Достаточно интересна полнота представления различных видов элементов управления для создания форм ввода данных и построения отчетов. Microsoft подходит к этому достаточно гибко и широко. На рис. 9.3 видно, что существует большое количество предопределенных элементов управления – Control, а в левом окне можно открыть панель управления – Toolbox. Это десятки предопределенных элементов Windows Forms. Таким образом, там содержится много элементов управления, которые перетаскиванием мыши можно разместить на форме. Это Poiner, командная кнопка, Checkbox-флажок и т. д. Различного рода метки – текст со ссылкой, выпадающий список и целый ряд других элементов. Скажем, существует командная кнопка, которую можно представить как изображение. Progress Bar, т. е. индикатор некоторого процесса, к примеру загрузки файла через Интернет. Radio кнопка – переключатель. Rich text box – мини-текстовый редактор, который также доступен изначально как готовый элемент управления. Интересно, что даже веб-страница существует как готовый элемент управления.