C# и Я

О программировании в C#, о себе и немного флуда на разнообразные темы.

Выравнивание компонентов в Visual Studio.

Visual C#, Visual Studio, by admin.

Довольно часто, когда речь заходит о дизайне программы и, в частности, о выравнивании компонентов на форме в Visual Studio, неопытные программисты начинают «изобретать велосипеды» – пишут тонны лишнего кода, запрещают форме изменять свои первоначально заданные размеры, расставляют компоненты на форме вручную (прописывают в коде программы положение того или иного компонента) и т.д. и т.п.

Естественно, что такой подход к решению вопроса о выравнивании компонентов на форме, является если не пагубным для всего проекта, то, по крайней мере очень не желательным. Через год может потребоваться изменить положение компонентов, добавить новые компоненты на форму и т.д. И что? Переписывать всю программу? Совсем нет. В Visual Studio многие задачи, связанные с выравниванием компонентов уже давно решены и поставлены, что называется «на поток». В этой статье мы  рассмотрим свойства компонентов, которые так или иначе связаны с позиционированием компонентов относительно друг друга и выравнивание их на форме в Visual Studio.

Итак, свойства компонентов, отвечающие за их расположение и позиционирование на форме в Visual Studio.

Свойство Dock

Свойство заставляет компонент менять размеры и положение при изменении размеров компонента-родителя. Возможные значения:

None – компонент располагается на форме так, как было предложено изначально программистом. При изменении размеров и положения родительского компонента компонент не меняет ни положения ни размера.

Left – компонент «прижимается» к левой части своего родителя, занимая при этом всю доступную для него высоту. Изменяемым размером остается ширина (Width)

Свойство Dock = Left

Свойство Dock = Left

Right - компонент «прижимается» к левой части своего родителя, занимая при этом всю доступную для него высоту. Изменяемым размером остается ширина (Width)

Свойство Dock = Right

Свойство Dock = Right

Top – компонент «прижимается» к верхней части компонента-родителя. Изменяемым размером остается высота (Height)

Свойство Dock = Top

Свойство Dock = Top

Bottom - компонент «прижимается» к верхней части компонента-родителя. Изменяемым размером остается высота (Height)

Свойство Dock = Bottom

Свойство Dock = Bottom

Fill – компонент растягивается по всему доступному пространству компонента-родителя. Никакие из линейных размеров не являются изменяемыми.

Свойство Dock = Fill

Свойство Dock = Fill

Манипулируя только свойством Dock у компонентов Visal Studio можно сделать так, чтобы все компоненты на форме без единой строки кода меняли свои размеры в зависимости от размеров формы. Например, можно создать вот такую форму с расположенными на ней панелями (Panel):

Пример расположения элементов на форме

Пример расположения элементов на форме

Все элементы на форме будут изменяться вместе с изменением размера самой формы таким образом, чтобы сохранить первоначально заданный дизайн.

Свойство Dock, безусловно, очень полезное свойство, но его бывает недостаточно. Например, когда необходимо не просто «растянуть» или «прижать» компонент в доступном ему пространстве, а сделать так, чтобы он всегда позицинировался так как задано в дизайнере формы. Возьмем к примеру TextBox – если его располагать на форме, используя только Dock, то получиться, если не страшно, то, не красиво – точно. Поэтому в Visual Studio для позиционирования компонентов предусмотрено ещё одно свойство – Anchor.

Свойство Anchor

С английского названия этого свойства переводиться как «якорь«. Позволяет закрепить края компонента к краям родителя таким образом, чтобы при изменении размеров родителей расстояние между заданными краями оставалось постоянным. Для компонента можно установить несколько «якорей».

Для примера рассмотрим работу со свойством Anchor у TextBox. Так выглядит компонент, расположенный на форме по умолчанию:

Видите? При изменении размера формы наш компонент остается «привязанным» только к левой и верхней границе формы. Это происходит потому, что свойство Anchor по умолчанию содержит значения Left и Top.

Теперь откройте свойство Anchor и добавьте к уже имеющимcя значениям Right:

Этим самым мы указали, что при изменении размеров формы наш TextBox будет «привязан» к левому, правому и верхнему краю своего родителя так, чтобы при изменении размеров компонента-родителя сохранялись заданные расстояния. Можете для примера изменить ширину формы и увидите, что TextBox также будет менять свою ширину.

Свойство Padding

Это свойство действует на все вложенные дочерние компоненты и задает расстояние от заданных границ элемента, не учитываемые при позиционировании вложенных компонентов. Чтобы понять как работает это свойство выделите форму и в окну свойств задайте значение Padding.All = 10. В редакторе свойств это будет выглядеть так:

Теперь уложите на эту форму, например, компонент Panel и установите у этого компонента свойство Dock = Fill. Вы увидите, что между граничей формы и границей панели останется расстояние в 10 пикселей:

Свойство Padding = 10

Свойство Padding = 10

Свойство Location

Это свойство определяет положение компонента относительно верхней (Location.Y) и левой (Location.X) границы компонента-родителя.

Используя рассмотренные выше свойства можно создавать красивый и удобный интерфейс программы без написания тонн кода – все вопросы, связанные с выравниванием и позиционированием компонентов на форме возьмет на себя Visual Studio.


Related posts:

  1. Работа с формами в Visual Studio C#.
  2. Взаимодействия между формами приложения.
  3. Как показывать подсказки (Hint) для элементов управления.
  4. Отладка приложений C# в Visual Studio.
  5. Как получить Visual Studio бесплатно.

Back Top

Responses to “Выравнивание компонентов в Visual Studio.”

Comments (0) Trackbacks (0) Leave a comment Trackback url
  1. No comments yet.
  1. No trackbacks yet.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*


HLI-MK16XL battery for Sony Ericsson Xperia Pro