В окне «Свойства» (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 – мини-текстовый редактор, который также доступен изначально как готовый элемент управления. Интересно, что даже веб-страница существует как готовый элемент управления.
Рис. 9.3.Набор предопределенных элементов управления
Кроме тех элементов, которые были перечислены, пользователь может создать свои элементы. Для этого используется специальный класс user control. Естественно, можно использовать те классы, которые уже предопределены в. Net, конкретно в Windows Forms, в пространстве имен System.Windows.Forms и на основе классов – каждый элемент управления является классом – можно создавать собственные элементы управления, добавляя и убавляя свойства.
Для создания собственных форм и элементов управления и коррекции их в визуальном режиме используется средство Windows Forms Designer. Это компонент, встроенный в Visual Studio. Он позволяет создавать свои формы путем комбинирования элементов управления. Существует возможность выравнивания без особых затрат труда, поскольку это происходит визуально. В связи с этим есть возможность построения интерактивных интерфейсов, поскольку пользователь может взаимодействовать с ними посредством событий, и интеграция с Microsoft Office. Это интерфейс, который основан на знакомых нам приложениях и ОС Windows, и MS Office. Скажем, существуют элементы управления Tool strip и Menu strip, как в Word. Это может быть представлено как в форме меню, так и в форме инструментов – командных кнопок. По сути, они уже существуют в виде примитивов в пространстве имен и могут быть использованы в нужной конфигурации и автоматически собраны при просто визуальном перенесении пользователем их на форму. Таким образом можно быстро создавать меню, глубокую вложенность подменю, которые могут содержать и другие элементы управления.
Как упоминалось ранее, пользователь может создавать собственные элементы управления, для этого используются классы, содержащиеся в System.Drawing. Напомним, что структура. NET Framework достаточно четко разграничена. Прямо на форме можно осуществлять прорисовку или выполнение несложных иллюстраций, скажем, рисовать линии, прямоугольники, овалы и т. д. В Word тоже есть панель рисования. Очень важным является вопрос интеграции данных из гетерогенных источников. В части корпоративных приложений речь идет о гетерогенных системах, которые могут включать как хорошо структурированную информацию, так и плохо структурированную – видео, аудио, сканы. К каждому фотоизображению прилагается информация о том, когда была сделана фотография, каким фотоаппаратом, каков ее размер. При этом Windows Forms имеет специальный элемент управления DataGrid-View, чтобы из гетерогенных источников можно было извлекать данные и формировать отчеты. При этом могут быть использованы разные источники данных – БД: SQL Server, Access. Позже мы посмотрим, как выглядит отчет в DataGridView. Это представление среза данных, которое хешируется и хранится на клиентской части приложения и необязательно отражает актуальное состояние базы данных. Можно брать данные из специализированных данных формата XML, веб-сервисов и т. д. Какие возможности получает пользователь при работе с этим сложным элементом управления? Какие потери могут быть понесены, если попытаться создавать его самостоятельно? Мы можем динамически менять размер строк и столбцов, фиксировать их, настраивать представление, цвет фона, шрифта и т. д. Наконец, можно осуществлять отображение сложных объектов внутри каждой ячейки – не только текст, но и фото, видео. При этом внедрение на форму элемента управления DataGridView происходит стереотипно и так же легко для пользователя, как и размещение элементарной кнопки – drag&drop из репозитория на форму.
Читать дальше
Конец ознакомительного отрывка
Купить книгу