Дата публикации статьи: 31.12.2004 12:41

Гайдар Магдануров
Microsoft Visual Studio 2005
Часть 3. Windows Forms

  • Введение
  • Что такое Windows Forms?
  • Новые контролы Windows Forms
  • Новые возможности дизайнера форм
  • Панель Actions
  • Заключение
  • Обсудить в форуме
  • Введение

    Эта статья продолжает цикл, посвященный Visual Studio 2005 и повествует о новинках Windows Forms и новшествах в дизайнере форм в Visual Studio 2005. Я преднамеренно решил рассказать о новинках в самой среде разработки, прежде чем рассказать о новых возможностях языка Visual Basic, поскольку счел необходимым ознакомить читателя, а в большей своей массе мой читатель - профессиональный разработчик, которому важны не только сами новые технологии, а скорость и простота разработки приложений. Поэтому, прежде всего в цикле идут статьи, посвященные продукту Microsoft Visual Studio 2005.
        Но, поскольку эту статью также могут (и будут!) читать начинающие разработчики на Microsoft Visual Basic и платформе .NET в целом, то я постараюсь не только рассказать о новинках, но и ввести в курс дела новичков, что, я надеюсь, будет им полезно.

    Что такое Windows Forms?

    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.

    Новые контролы Windows Forms

    В версии 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).

    То же самое касается и взаимодействия контролов между собой. Контролы "прилипают на фиксированных расстояниях" и на воображаемых границах выравнивания контролов.

     

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

    Панель Actions

    В дизайнере форм Visual Studio 2005 доступна еще одна замечательная функция - панель Actions, содержащая команды наиболее часто используемые для каждого конкретного контрола при его размещении на форме. Например, добавив элемент TableLayoutPanel и щелкнув на появившемся значке мы увидим меню, позволяющее быстро выполнять часто требующиеся операции.

    Те же команды доступны и в таблице свойств этого элемента управления. Вы всегда можете выбрать тот путь, который вам нравиться, а Visual Studio поможет в этом.

    Заключение

    Как вы могли убедится, ознакомившись с материалами этой статьи и, возможно, установив Visual Studio 2005 Express Edition, что среди классов Windows Forms появилось множество полезных для разработки Windows-приложений элементов управления. Кроме того, вы не могли не обратить внимание на развитие дизайнера форм Visual Studio.
        Удачи вам в увлекательной работе разработчика программного обеспечения! Кстати, пользуясь случаем и тем, что статья будет опубликована 31 декабря 2004 года, я поздравляю всех с Новым 2005 годом, годом в котором Microsoft наконец-то представит на наш суд финальную версию Visual Studio 2005!