Компоненты в Visual Studio делятся на два типа: визуальные и невизуальные. Визуальные компоненты (метки, кнопки, поля ввода и т. д.) появляются на форме. Невизуальные компоненты (такие, как таймер) появляются на специальной панели и видимы только во время конструирования формы в виде имен со значками. Во время выполнения программы невизуальные компоненты не отображаются.
Доступ к компонентам .NET можно получить из панели Toolbox (рис. 5.10). Если ее не видно, то нужно выполнить в меню команду View | Toolbox.
Рис. 5.10. Панель Toolbox с компонентами
Для вашего удобства все элементы управления сгруппированы по разделам. Вы можете создавать свои разделы и помещать в них любые компоненты, но для начала лучше оставить все по умолчанию, поскольку здесь все достаточно удобно продумано. В разделе All Windows Forms (Все Windows-формы) находятся все компоненты. Если вы забыли, в каком разделе искать нужный элемент управления, можете раскрыть этот раздел и найти нужный элемент в нем. Внутри разделов все компоненты отсортированы по именам.
Компоненты на форме можно перетаскивать мышью, визуально устанавливая их положение. Когда вы выделяете компонент, обратите внимание на точки, которые появляются вокруг контура выделения. В те стороны, на которых есть жирные точки, можно растягивать компонент. Например, выделите форму, и у нее на рамке выделения окажутся точки только справа и снизу. Это значит, что вы можете изменять высоту и ширину формы перемещением правого и нижнего краев формы.
Попробуйте установить на форму кнопку Button из раздела Common Controls (Общие элементы управления). Выделите ее и убедитесь, что вокруг кнопки появляются жирные точки во всех направлениях, а это значит, что с кнопкой можно делать все, что угодно.
Попробуйте теперь перетащить на форму компонент-метку Label. Выделите ее. Тут есть чему удивиться, потому что у этого компонента нет квадратов по контуру, а есть только маленький квадрат в левом верхнем углу компонента. Это значит, что у компонента нельзя изменять размеры, но можно изменять его положение. На самом деле изменять размеры можно, просто по умолчанию компонент создается в режиме авторазмера.
Все визуальные элементы управления содержат среди предков класс Control. Этот класс наделяет компоненты всеми необходимыми им свойствами и методами. Давайте пробежимся по основным свойствам компонентов, чтобы не повторяться в будущем, — тем более, что многие из них мы уже видели у формы:
Несколько замечаний по поводу свойства Anchor. По умолчанию компоненты прикрепляются к левой и верхней сторонам родителя. Если прикрепить их к левой и правой, то при изменении размера формы будут изменяться и размеры компонента. Прикрепление как бы указывает, что расстояние от компонента до края формы не должно изменяться, а, значит, при изменении формы приходится изменять размеры компонента. Если прикрепить компонент только к правой стороне, то при изменении размера формы он будет двигаться вместе с правой кромкой окна как хвостик, потому что в этом случае расстояние от правой кромки до компонента не должно меняться.
Как изменять прикрепление? Выделите свойство Anchor и щелкните по кнопке вызова выпадающего списка в редакторе свойств. Появится небольшое окно (рис. 5.11), в котором от центра в разные стороны идут полоски. Темные полоски говорят о том, что в эту сторону сделано прикрепление, а белые — о том, что прикрепления нет. Щелкайте по полоскам, чтобы устанавливать или убирать прикрепления.
Рис. 5.11. Окно установки якорей
Рис. 5.12. Окно выравнивания Dock
Еще одно свойство, на котором следует остановиться: Dock. Если щелкнуть по выпадающему списку в редакторе свойств для Dock, то появится маленькое окно, которое представляет собой небольшой компонент. Он разбит на секторы, как показано на рис. 5.12, только подписей на русском у вас не будет. Эти подписи я добавил в рисунок для удобства.
Щелкая по секторам, вы выравниваете свой компонент на поверхности компонента контейнера, на котором он стоит. Например, если ваш компонент стоит на поверхности формы, и вы щелкнете по самому верхнему сектору для выравнивания по верху, то ваш компонент растянется вдоль верхней кромки окна, как это делают меню и панели в большинстве приложений. Таким способом очень просто и удобно создавать мощные и гибкие интерфейсы.
Некоторые компоненты могут прятать определенные свойства, но большинство, все же, отображает их.
Это бесплатная глава книги Библия C#. В новом издании эта глава переписана с учетом универсальных приложений Windows, а старая версия главы, которая не потеряла еще своей актуальности стала бесплатной и доступной всем.