Сетка размещения (в полном соответствии со своим названием) — это сетка, которая накладывается поверх формы. Сетка визуально представляется в конструкторе точками, которые являются пересечениями квадратов сетки. Когда вы перетаскиваете элементы управления на поверхность сетки (или перемещаете по ней), то визуальный конструктор автоматически фиксирует края элементов управления к краям квадратов сетки.
Совет
Даже при включенном режиме размещения по сетке вы можете избежать фиксирования — для этого надо выделить элемент управления, нажать клавишу <Ctrl> и при помощи стрелок перемещать элемент управления вверх, вниз, вправо или влево (по одному пикселу).
Размер квадратов сетки (и, следовательно, расстояние между этими направляющими точками сетки) управляется свойством GridSize (также находится в диалоговом окне Options). Меньший размер сетки соответствует более близкому расположению направляющих точек, что в свою очередь приводит к более точному управлению размещением элементов управления.
На рис. 6.32 показана форма регистрации с сеткой размещения. Обратите внимание, что сетка была использована для того, чтобы:
□ текстовые поля были выровнены друг относительно друга (и имели одну длину);
□ метки были выровнены по вертикали с текстовыми полями и по горизонтали друг с другом;
□ кнопки были выровнены по вертикали и имели необходимое свободное пространство между собой и границами формы.
Использование линий привязки. Линии привязки — это несколько более интеллектуальный механизм позиционирования элементов управления. При их использовании видимая сетка на поверхности формы отсутствует. Вместо этого визуальный конструктор рисует визуальные подсказки (при перемещении элемента управления по форме).
На рис. 6.33 показаны линии привязки в действии; этот рисунок показывает процесс позиционирования кнопки ОК.
Обратите внимание, что элемент управления — в данном случае кнопка ОК — зафиксировался в положении, которое находится на заданном расстоянии от границы формы (указанном тонкой синей линией (цвет линии вы увидите на своем экране), идущей от кнопки до границы формы). Положение фиксации кнопки также достаточно хорошо отдалено от соседней кнопки Cancel (это расстояние указано тонкой синей линией от правого края кнопки до левого края кнопки Cancel). Алгоритм линии привязки определил также, что вы пытаетесь создать ряд кнопок, и поэтому вам нужно выровнять данный элемент управления по вертикали с его соседом. Фактически это делается по внутреннему тексту кнопок; тонкая розовая линия под текстом обеих кнопок ясно показывает, что они отлично выровнены.
Алгоритмы линий привязки автоматически учитывают рекомендуемые поля и расстояния между элементами (как это описано в опубликованном руководстве "Windows User Interface Guidelines" фирмы Microsoft). Эта функция избавляет от необходимости задумываться над многими вопросами компоновки и помогает обеспечить определенное единообразие и соответствие стандартам внутри приложений Windows Forms.
Примечание
Изменение режима компоновки визуального конструктора обычно происходит не мгновенно. После такого изменения вам может понадобиться закрыть конструктор и открыть его снова (например, при изменении с режима SnapLine на режим SnapToGrid).