Добавление элементов управления и компонентов

Оценить
(2 голоса)

Когда вы создаете приложение на базе форм, то для дизайна пользовательского интерфейса применяются три отдельных инструмента Visual Studio: визуальный конструктор форм Forms Designer (который обеспечивает основу формы), панель инструментов Toolbox (со­держащую элементы управления, которые будут размещаться на основе) и браузер свойств (который используется для изменения: формы; ее дочерних элементов управления; внешнего вида и поведения). Эта триада инструментов интегрированной среды разработки является ключом к быстрой разработке форм в Visual Studio (особенно в том, что касается создания содержимого формы).

Термин "элемент управления" технически обозначает любой объект .NET, который реали­зует класс Control. Практически же мы используем этот термин для обозначения визуаль­ных элементов управления, находящихся в форме. В отличие от них компоненты не обла­дают визуальным интерфейсом (хотя имеют множество таких же характеристик, что и элементы управления). Кнопка — это пример элемента управления, а таймер — это пример компонента.

И элементы управления, и компоненты обитают в панели Toolbox (дополнительное описа­ние Toolbox см. в главе 6). Добавление на форму элемента управления или компонента про­изводится перетаскиванием соответствующего элемента из панели Toolbox на поверхность формы.

После того как вы поместили элемент управления на форму, визуальный конструктор форм Windows Forms Designer прорисует элемент управления на форме (для того чтобы вы полу­чили представление WYSIWYG— то, как форма будет выглядеть на стадии выполнения). Как мы отмечали в главе 6, работа с компонентами производится несколько иначе. Визуаль­ный конструктор форм имеет специальную область, называемую лотком компонентов (здесь представлены все размещенные на форме компоненты). Это позволяет вам работать с компонентами точно так же, как и с элементами управления (просто щелкая по ним), но при этом на форме не появляется их визуальное представление (поскольку компонент не имеет визуального представления). Описание: image384

Via рис. 15.5 выделена область лотка компонентов визуального конструктора форм.

Совет

Панель Toolbox можно настраивать: вы можете добавлять и удалять компоненты с любой вкладки Toolbox. Щелкните правой кнопкой мыши внутри окна Toolbox и выберите пункт Choose Items. После этого откроется диалоговое окно Choose Toolbox Items; здесь вы можете выбрать обитающие в Toolbox элементы управле­ния. Если элемента управления нет на вкладках .NET Framework Components или COM Components, то вы можете перейти к сборке элемента управления и добавить его напрямую.

Компоновка и позиционирование элементов управления

Когда на форме находится несколько элементов управления,- то визуальный конструктор форм может помочь автоматизировать некоторые стандартные задачи компоновки, такие как выравнивание группы элементов управления по вертикали. Мы снова отсылаем вас к главе 6 за описанием способов использования этих инструментов повышения производи­тельности. Однако эти функции компоновки хотя и являются удобными с точки зрения ди­зайна, но они ничего не дают вам на стадии выполнения.

Как уже отмечалось ранее, поведение элемента управления (внутри его родительской фор­мы) во время выполнения является важным вопросом (если вы хотите реализовать вашу форму в соответствии с вашими проектными намерениями). То есть вам не только нужно, чтобы элементы управления выглядели определенным образом, но они еще должны и вести себя определенным образом при изменении размеров формы.

Самый простой способ продемонстрировать проблему изменения размеров формы — это рассмотреть несколько рисунков. На рис. 15.6 показана простейшая форма: метка, текстовое поле, кнопки ОК и Cancel. Элементы управления формы были тщательно размещены: вы­держаны равные расстояния, элементы аккуратно выровнены по горизонтали и вертикали — короче говоря, эта форма выглядит именно так, как того хотел разработчик.

Рис. 15.6. Элементы управления на форме выровнены

Но затем в дело вступает пользователь. На рис. 15.7 показаны результаты изменения разме­ров формы по горизонтали и вертикали.

Этот вид— совершенно не то, что планировалось получить; четкий и аккуратный дизайн формы не справился с изменением её размеров. Возможно, пользователь изменил размеры формы в попытке получить больше места для ввода в текстовом поле. Либо пользователь упорядочил все окна приложений в мозаичном порядке, что и привело к изменению размера окна данного приложения. Какова бы ни была причина, совершенно ясно, что требуется дополнительное вмешательство разработчика для того, чтобы дизайн стал "правильным" (и не зависел от размера формы). Описание: image385

При помощи сравнения рисунков до, и после изменения размеров вы можете выработать стратегию и ответить на вопрос: "Что должно происходить при изменении размера формы пользователем?" На рис. 15.8 показан снимок идеального варианта; текстовое поле "после­довало" за изменением размера (изменяя свою ширину в горизонтальном направлении). Ко­мандные кнопки сохранили свое выравнивание друг с другом и с текстовым полем, но не изменили своих общих размеров. Метка осталась в своем исходном положении.

Каждый объект формы имеет событие изменения размера, которое происходит при измене­нии размера границ формы (чаще всего это происходит в результате перетаскивания поль­зователем границы формы для увеличения или уменьшения ее размера). Поскольку каждый элемент управления имеет такие свойства позиционирования, как Top, Left, Height и Width, то для получения формы, показанной на рис. 15.8, можно было бы применить грубый сило­вой подход — написав несколько строк кода для каждого элемента управления, вы могли бы вручную переместить элементы управления или изменить их размер при изменении размера формы и положения других элементов управления. Однако такой подход как минимум тру­доемок и дает весьма "хрупкий" код, который необходимо подправлять каждый раз, когда компоновка и расположение элементов управления модифицируются.

К счастью, визуальный конструктор Windows Forms в Visual Studio (в сочетании с некото­рыми стандартными свойствами элементов управления) позволяет вам учитывать все воз­можные оптимизации изменения размера уже при компоновке формы. При помощи привяз­ки (anchoring) и закрепления (docking) ваших элементов управления вы можете указать их положение относительно друг друга и относительно границ формы. Описание: image386Описание: image387

Привязка
Закрепление
Использование контейнеров
TableLayoutPanel
FlowLayoutPanel

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


Защитный код
Обновить

© 2017 www.visualstudios.ru. Все права защищены.