Создание промышленных приложений
Подкатегории
Рассмотрим набор меток и текстовых полей для ввода адресной информации. Они обычно размещаются в виде строк и столбцов. Элемент управления TableLayoutPanel идеален для реализации такого поведения, поскольку он автоматически обеспечивает упорядочивание в строки и столбцы для всех элементов управления. На рис. 15.11 показан набор меток и текстовых полей, встроенных в TableLayoutPanel. Обратите внимание, что изменение размера формы (и таким образом, и самой панели, которая закреплена для заполнения внутренней части формы) приводит к автоматическому выравниванию элементов управления панели.
Если элемент внутри одной из ячеек выходит за ее пределы, то он автоматически переносится внутри ячейки. Это дает вам такие же возможности компоновки,…
Элемент управления FlowLayoutPanel имеет более простой алгоритм компоновки: элементы упорядочиваются по вертикали или горизонтали простым переносом элементов управления по рядам или столбцам по мере необходимости.
Два показанных на рис. 15.12 экрана иллюстрируют эффект изменения размера панели FlowLayoutPanel, содержащей набор селективных кнопок.
Элемент управления SplitContainer является гораздо более усовершенствованным вариантом исходного элемента управления Splitter, который впервые был введен в .NET 1.0/1.1 /Visual Studio 2003. Этот элемент управления представляет собой союз двух панелей и разделителя; разделитель разделяет две панели либо по горизонтали, либо по вертикали и позволяет пользователю вручную настроить ту часть пространства внутри общего контейнера, которую занимает каждая из панелей.
На рис. 15.13 показана универсальность этого элемента управления; два разделенных контейнера (причем один из них содержится в панели, находящейся в другом контейнере) используются для того, чтобы обеспечить возможность как вертикального, так и горизонталь* ного изменения размеров панелей на форме (панель 2 невидима,…
Многие приложения поддерживают возможность перетаскивания и закрепления панелей инструментов и меню и т. п. к любой стороне формы — верхней, нижней, правой или левой.
Примером такого приложения является сама Visual Studid. Например, вы можете переместить панель инструментов в Visual Studio к левой стороне формы. Элемент управления ToolStripContainer позволяет вам использовать эту функциональность в ваших приложениях; он является комбинацией четырех панелей, каждая из которых размешается на разных сторонах содержащей их формы. Эти панели используются для элементов управления ToolStrip (подробнее о них чуть позже) и во время выполнения дают пользователям возможность перемещать полоски инструментов внутри этих четырех панелей и между ними.
Примечание…
Внешний вид элемента управления настраивается при помощи того же самого набора основных свойств, который используется для управления внешним видом формы: это свойства ForeColor, BackColor и Font.
Однако у элемента управления есть интересная способность автоматически менять свой внешний вид в соответствии с текущей темой рабочего стола (при работе под управлением операционных систем Windows ХР или Windows Vista). Эта возможность включается вызовом метода Application.EnableVisualStyles. Эта строка кода автоматически включается (по умолчанию) первой строкой в метод Main. Такое расположение идеально, поскольку этот вызов должен быть сделан до фактического создания элементов управления в приложении. Если вы удалите этот вызов, то сможете сравнить внешний вид при включенных и выключенных эффектах. На рис. 15.17 показана форма без визуальных стилей (слева) и форма с визуальными стилями (справа).
По умолчанию порядок, в котором элементы управления получают фокус (порядок табуляции формы), совпадает с тем порядком, в котором они были помещены на форму. Для явной установки порядка табуляции всех элементов управления формы интегрированная среда разработки имеет режим выбора порядка табуляции.
Для того чтобы войти в режим выбора порядка табуляции, выберите в меню View | Tab Order. Визуальный конструктор Windows Forms пометит номером каждый элемент управления на форме. Этот номер представляет собой положение элемента управления в последовательности табуляции формы. Для настройки желаемого порядка табуляции просто щелкните последовательно все элементы управления— их порядок табуляции будет автоматически меняться в соответствии с вашими щелчками.
Подсказки ToolTips — это маленькие "воздушные шарики", которые отображают текст тогда, когда пользователь устанавливает курсор над элементом управления. Обычно они используются для подсказок или описаний цели элемента управления, его работы и т. д. Эти подсказки реализованы при помощи класса ToolTip и могут присваиваться элементам управления на стадии конструирования.
Класс ToolTip является примером провайдера расширений (см. предыдущее примечание о провайдерах расширений в нашем обсуждении элемента управления TableLayoutPanel). После добавления на форму компонента ToolTip каждый элемент управления формы реализует свойство ToolTip, которое используется для присваивания подсказки для данного элемента управления.
Например, если вы хотите добавить подсказку для кнопки ToolStrip, то вам необходимо…
Многие основные стандартные визуальные элементы формы реализуются при помощи элементов управления ToolStrip. Этот элемент работает как контейнер для других элементов управления, наследующих от ToolStripItem; он может содержать различные типы элементов управления: кнопки, комбинированные окна, метки, разделители, текстовые поля и даже индикаторы хода выполнения. Сам класс ToolStrip используется для непосредственной реализации панелей инструментов на форме, а также работает как базовый класс для элементов управления StatusStrip и MenuStrip.
Элементы управления ToolStrip имеют впечатляющий список встроенных возможностей. Например, они поддерживают перетаскивание элемента из одной полоски инструментов в другую, динамическое переупорядочивание и отсечение элементов при изменении пользователем размера полоски или ее родительской формы, а…
Элементы управления MenuStrip дают вам возможность визуально конструировать систему главного меню формы. Перетаскивание этого элемента управления из панели Toolbox на пустую форму автоматически прикрепит полоску меню к верхнему краю формы (рис. 15.18).
После того как вы поместили на форму этот элемент управления, выбор элемента MenuStrip активирует глиф смарт-тега (смарт-теги рассматриваются в главе 8). Щелчок по смарт-тегу позволяет вам быстро сделать три вещи:
□ автоматически вставить в меню стандартные пункты;
□ изменить для меню свойства RenderMode, Dock и GripStyle;
□ отредактировать элементы меню.
Использование возможности автоматического оснащения полоски меню стандартным набором пунктов меню экономит несколько минут времени по сравнению с ручным…