Гайдар Магдануров
Microsoft Visual Studio 2005
Часть 3. Windows Forms
Эта статья продолжает цикл, посвященный
Visual Studio 2005 и повествует о новинках Windows
Forms и новшествах в дизайнере форм в Visual Studio
2005. Я преднамеренно решил рассказать о новинках в самой среде
разработки, прежде чем рассказать о новых возможностях языка
Visual Basic, поскольку счел необходимым ознакомить читателя, а в большей
своей массе мой читатель - профессиональный разработчик, которому важны не
только сами новые технологии, а скорость и простота разработки приложений.
Поэтому, прежде всего в цикле идут статьи, посвященные продукту
Microsoft Visual Studio 2005.
Но, поскольку эту статью также могут (и будут!) читать
начинающие разработчики на Microsoft Visual Basic и
платформе .NET в целом, то я постараюсь не только
рассказать о новинках, но и ввести в курс дела новичков, что, я надеюсь, будет
им полезно.
Windows Forms - это, как пишут в
MSDN, новая платформа для создания
Windows-приложений на платформе .NET,
содержащая набор объектно-ориентированных классов. Также
Windows Forms может представлять собой графический интерфейс пользователя
(GUI) в многоуровневых приложениях. Но это сухие слова
из MSDN. Понятие Windows Forms
включает в себя все то, что вы каждый раз видите перед собой на
Toolbox в Visual Studio .NET.
Это все классы и контролы, которые используются для создания приложений
при работе с формой (в дизайнере или в коде). По своей "глубинной" сути форма
является контролом, поскольку наследует от System.Windows.Forms.ContainerControl,
но это уже внутреннее устройство Windows Forms с
которым вы можете легко ознакомиться используя Object Browser
(по-умолчанию F2
в Visual Studio 2005, Ctrl+Alt+J
в Visual Studio 2003).
Так или иначе вам придется в процессе работы вдоволь
"наползаться" по дереву объектов .NET Framework в
Object Browser и MSDN Library,
поэтому, соглашаясь с народной мудростью "не стоит откладывать на завтра
то, что можно сделать сегодня", я рекомендую вам изучить внутренние
взаимоотношения объектов Windows Forms уже сейчас,
пусть даже под рукой у вас нет Visual Studio 2005
Beta, поскольку Express
версию можно скачать с сайта
www.microsoft.com.
В версии Framework 2 появилось
множество новых контролов доступных разработчику в стандартной поставке, а также
расширились функциональные возможности уже имевшихся ранее, что позволяет
создавать приложения с функциональным и привлекательным интерфейсом не используя
third-party компонентов и с меньшими затратами
собственных усилий и времени.
Я расскажу лишь о некоторых новых контролах, которые сразу
бросаются в глаза разработчику впервые открывшему Visual
Studio 2005. Конечно, полное описание каждого заняло бы несколько
страниц, поэтому я скажу лишь несколько общих слов и приведу один-два примера.
Но этого вполне достаточно, чтобы дать некоторое представление о полезных
новинках.
Здесь и далее в тексте слова контрол и
элемент управления обозначают одно и то же.
Так уж исторически сложилось, что в русскоязычной литературе элементами
управления и контролами называют и видимые и невидимые элементы, хотя, в
последнее время, некоторые авторы предлагают называть контролами все элементы
форм, а элементами управления только видимые пользователю. Но мы не будем
пользоваться этой классфикацией.
MaskedTextBox
Данный контрол позволяет задать маску
для пользовательского ввода. Например, пользователь должен вводить номер
телефона с кодом области, тогда установив свойство этого контрола
Mask в (999)000-0000 мы позволим вводить данные в
таком формате.
FlowLayoutPanel
Это расширенный вариант имевшегося ранее контрола
Panel, позволяющий последовательно упорядочивать
контролы, при этом при изменения размера самой панели, контролы будут
перемещены, но останутся в том же порядке. Ниже приведен процесс изменения
размеров панели в дизайнере форм Visual Studio.
TableLayoutPanel
Контрол, который несет в себе ту же функциональность, что и
теги <table></table> в HTML.
Если вы не знакомы с web-программированием, то
представьте себе, что контролы упорядочиваются в некоторой таблице, как,
например, текст в ячейках Excel. При этом можно
создать таблицу с произвольным числом столбцов и строк. Единственное ограничение
пока, нельзя объединять ячейки в одну, но все-таки "здесь вам не
Word".
SoundPlayer
Контрол, позволяющий проигрывать звук формате
WAVE аудио, возможно в следующих версиях список
поддерживаемых форматов будет расширен.
Таким образом исключается необходимость дополнительных функций и контролов для
проигрывания звука. Такая функциональность уже включена в Framework!
ActiveDocumentHost
А этот контрол в чем-то напоминает OLE Container,
поскольку позволяет включать в приложения документы сзданные другими
приложениями, поддерживающими эту технологию. За тонкостями и деталями я
отправлю вас в MSDN, а сам немного полюбуюсь
вставленным на форму
И тем, во что форма превращается после двойного щелчка по документу. Неправда
ли, очень похоже на Microsoft Word?
PropertyGrid
Данный контрол соответствует таблице свойств элемента
управления (контрола) в Visual Studio. Отображает
свойства того контрола, который указан в свойстве
SelectedObject. Например установив SelectedObject =
frmMain мы сможем во время выполнения редактировать свойства нашей формы.
На самом деле, говоря откровенно, контрол был включен и в
Visual Studio 2003, но, почему-то не был по умолчанию выведен на
Toolbox и о нем, почему-то, не знали многие
разработчики.
WebBrowser
Компонент предоставляющий возможность включить
функциональность Internet Explorer в ваше приложение.
Не лучший пример его использования приведен ниже.
MenuStrip
Компонент позволяет добавить в стандартное меню иконку.
Долгожданная и такая желанная возможность наконец-то появилась и у
VB программистов! Для этого необходимо добавить в
ресурсы приложения картинки и использовать их в дальнейшем создавая в дизайнере
меню новые пункты.
Помимо добавления в Framework новых
компонентов Windows Forms, разработчики
Visual Studio 2005 позаботились и об улучшения в
работе над созданием форм. Согласитесь, для большинства программистов создание
дизайна приложения превращается в настоящую пытку - надо придумать такой дизайн,
чтобы он был удобным и функциональным, при этом метко работая мышью расставляя
"эти расползающиеся по углам контролы". Да и профессиональным дизайнерам
приложений не всегда просто следовать всем требованиям к хорошему и
качественному дизайну. Но и здесь Visual Studio 2005
приходит на помощь!
Прежде всего помощь дизайнера форм в
Visual Studio проявляется при размещении контролов на форме, поскольку он
позволяет легко выровнять и упорядочить контролы даже не пользуясь меню
Format. Например при размещении
контрола (в примере TreeView) при перемещении контрола к
краю формы мы видим ограничительные линии, отмечающие собой рекомендуемое
расстояние при размещении контролов на форме (информацию о рекомендациях к
дизайну Window-приложений можно найти в MSDN).
То же самое касается и взаимодействия
контролов между собой. Контролы "прилипают на фиксированных расстояниях" и на
воображаемых границах выравнивания контролов.
При этом ничто не мешает вам расположить
элементы управления так, как вам будет удобно.
В дизайнере форм Visual Studio 2005
доступна еще одна замечательная функция - панель Actions,
содержащая команды наиболее часто используемые для каждого
конкретного контрола при его размещении на форме. Например, добавив элемент
TableLayoutPanel и щелкнув на появившемся значке мы
увидим меню, позволяющее быстро выполнять часто требующиеся операции.
Те же команды доступны и в таблице свойств
этого элемента управления. Вы всегда можете выбрать тот путь, который вам
нравиться, а Visual Studio поможет в этом.
Как вы могли убедится, ознакомившись с
материалами этой статьи и, возможно, установив Visual Studio 2005 Express
Edition, что среди классов Windows Forms
появилось множество полезных для разработки Windows-приложений
элементов управления. Кроме того, вы не могли не обратить внимание на развитие
дизайнера форм Visual Studio.
Удачи вам в увлекательной работе разработчика
программного обеспечения! Кстати, пользуясь случаем и тем, что статья будет
опубликована 31 декабря 2004 года, я поздравляю всех с Новым 2005 годом, годом в
котором Microsoft наконец-то представит на наш суд
финальную версию Visual Studio 2005!