Сохранение пропорций: свойства Anchor и Dock. Меню Tab Order.
При стыковке нескольких элементов с одним краем контейнера первый элемент совмещается с краем, а остальные располагаются как можно ближе к нему, не перекрывая предыдущие элементы, как показано на рис. 8.5.
Рис. 8.5. Стыковка элементов с краем формы
Поскольку и стыковка, и привязка выполняются по отношению к контейнеру, вы можете сначала стыковать/привязать групповые поля (GroupBox) или панели к краям формы, а затем проделать то же самое с элементами внутри этих контейнеров. Как правило, необходимость в программировании изменения размеров при этом пропадает. Например, в процессе построения формы, показанной на рис. 8.6, три групповых поля были пристыкованы к левому краю формы, после чего три кнопки были пристыкованы к нижнему краю первого группового поля.
Рис. 8.6. Будущий калькулятор
Меню Tab Order
Изменение порядка перебора элементов (tab order) в прежних версиях VB было делом утомительным и неприятным, которое несколько упрощалось только специальной надстройкой (add-in). В VB.NET существует команда View › Tab Order, которая делает эту задачу элементарной. Все, что от вас потребуется, – ввести нужную позицию элемента в небольшом поле, которое при выполнении команды View › Tab Order появляется рядом с элементом (рис. 8.7).
Для элементов, находящихся внутри контейнера, позиция задается в формате "х.у". Например, если групповому полю в порядке перебора была присвоена позиция 3, то расположенные внутри него элементы будут иметь номера 3.0, 3.1 и т. д. (чтобы отключить режим ввода порядка перебора, снова выполните команду Tab Order).
Рис. 8.7. Команда Tab Order