Многие приложения поддерживают возможность перетаскивания и закрепления панелей инструментов и меню и т. п. к любой стороне формы — верхней, нижней, правой или левой.
Примером такого приложения является сама Visual Studid. Например, вы можете переместить панель инструментов в Visual Studio к левой стороне формы. Элемент управления ToolStripContainer позволяет вам использовать эту функциональность в ваших приложениях; он является комбинацией четырех панелей, каждая из которых размешается на разных сторонах содержащей их формы. Эти панели используются для элементов управления ToolStrip (подробнее о них чуть позже) и во время выполнения дают пользователям возможность перемещать полоски инструментов внутри этих четырех панелей и между ними.
Примечание
Несмотря на то, что ToolStripContainer обеспечивает удобное средство фиксации полосок инструментов к сторонам формы, встроенной поддержки "плавающих" полосок инструментов, к сожалению, не существует.
Конструирование простое: вы можете перемещать элементы управления между четырьмя панелями по вашему желанию. На рис. 15.14 показан ToolStripContainer на стадии конструирования. Смарт-тег обеспечивает управление видимостью верхней, левой, правой и нижней панелей. Все панели по умолчанию скрыты. Вы можете щелкнуть по любой стрелке на сторонах контейнера для разворачивания соответствующих панелей (чтобы получить место для размещения полосок инструментов внутри панелей).
Рис. 15.14. ToolStripContainer в режиме конструирования
Несмотря на то, что удобно иметь возможность размещать элементы внутри ToolStripContainer при помощи визуального конструктора, реальное преимущество этого элемента управления — это автоматическая поддержка перетаскивания между панелями на стадий выполнения. Это означает, что без единой строки позиционирующего кода вы получаете функциональность, которая позволяет пользователям размещать их меню или панели инструментов в любом месте внутри формы. На рис. 15.15 показана находящаяся в ToolStripContainer панель инструментов, которая на стадии выполнения была перекреплена от верхней панели к левой панели.
Внутри любой панели ToolStripContainer может находиться несколько элементов управления ToolStrip. На рис. 15.16 показано несколько полос команд, размещенных стопкой внутри правой панели. Как отмечено далее в этой главе, порядок следования элемента управления по координате Z определяет его место в стопке.
Примечание
Совместное использование пространства внутри контейнера полосы инструментов (по вертикали или горизонтали) называется рафтингом: элементы управления полосы инструментов могут свободно плавать внутри панели.
При компоновке и позиционировании форм/элементов управления есть еще несколько прочих тонкостей, но основы мы уже рассмотрели. При помощи этих концепций и общего дизайна вашей формы вы можете начинать пользоваться визуальным конструктором Windows Forms.