* При перепечатке материалов ссылка на www.SeoLiga.ru обязательна!
Стыковка и фиксация элементов управления
7 февраля 2009
Многие элементы управления поддерживают свойства Anchors Dock, определяю- щие их поведение внутри формы или иного контейнера. Заданное свойство Anchor заставляет выдерживать постоянное расстояние между границами элемента управ- ления, для которого оно определено, и границами формы. При изменении разме- ров формы во время выполнения размеры элемента управления, для которого зада- но свойство Anchor, автоматически изменяются таким образом, чтобы расстояние между его границами и заданными границами формы оставалось постоянным. Свойство Dock позволяет «пристыковать» элемент управления к одному из краев формы либо сделать так, чтоб он заполнил собой всю форму. При изменении раз- меров формы размеры пристыкованных к ней элементов управления редактируют- ся автоматически.
Применение свойства Anchor Свойство Anchor можно задавать для любого элемента управления во время разра- ботки, как и любое другое свойство. Для этого выберите свойство Anchor в окне Properties и щелкните расположенную рядом кнопку — откроется небольшое окно, где можно выставить необходимое значение свойства. Окно, позволяет выбрать границы, к которым прикреп- ляется элемент управления. По умолчанию для этого свойства принято значение Top, Left. Оно заставляет выдерживать постоянное расстояние между левой и верх- ней границами формы и соответствующими границами элемента управления. По- скольку при изменении размеров формы редактируется положение ее нижнего пра- вого угла, значение Top, Left в сушности заставляет сохранять положение элемента управления при корректировке размеров формы. В этом упражнении вы добавите к форме кнопку и поэкспериментируете со свойством Anchor, задавая для него разные значения, вы будете наблюдать, как это влияет на положение и размеры элемента управления.
> Демонстрация свойства Anchor 1. В Visual Studio создайте новый проект Windows Forms. 2. Откройте новую форму в дизайнере и поместите на нее элементу управления Button. 3. Щелкните добавленную кнопку и выберите свойство Anchors окне Properties. Откроется окно свойства Anchor. Заметьте, что верхняя и левая полоски в этом окне темные — это означает, что кнопка привязана к верхней и левой границе формы. 4. Измените размеры формы в дизайнере, перетащив ее правый нижний угол. Об- ратите внимание, что кнопка сохраняет свое положение относительно верхней и левой границ окна формы. 5. Щелкните обе затемненные полосы в окне свойства Anchor — теперь кнопка больше не привязана ни к одной из границ окна. 6. Попробуйте снова изменить размеры формы в окне дизайнера. Как видите, при этом положение кнопки тоже изменяется — она «плавает» на форме. Если свойство Anchor у элемента управления установлено в None, то при изме- нении размеров формы выдерживается относительное (а не абсолютное) рас- стояние между его границами и границами формы. 7. Установите для свойства Anchor значение Тор и снова измените размеры формы. Кнопка сохраняет расстояние от верхней границы формы, но «плавает» относи- тельно правой и левой границ. 8. Щелкните нижнюю полоску в окне свойства Anchor (установите для этого свой- ства значение «Top, Bottom»). 9. Измените размеры формы еще раз. Кнопка по-прежнему «плавает» относитель- но левой и правой границ формы, но расстояние до верхней и нижней границ формы останется постоянным, при этом размеры кнопки изменяются. Свойство Anchor управляет реакцией элемента управления на редактирование размеров формы. Можно зафиксировать элемент управления на форме, прикрепив его к ее левой и верхней границам, либо позволить ему растягиваться вместе с фор- мой, прикрепив его к противоположным границам формы. Наконец, вы можете разрешить элементу управления свободно «плавать» на форме, не прикрепляя его ни к одной из ее границ. Таким образом, с помощью свойства Anchor удается реали- зовать самое разное поведение элементов управления в ответ на изменение разме- ров формы.