Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
П_З.docx
Скачиваний:
3
Добавлен:
24.08.2019
Размер:
179.91 Кб
Скачать

Связывание компонентов с подписями к ним

Измените свойства Text для меток label1—label5, добавив в них символ &: (Alpha, &Red, &Green, &Blue, Gra&y (ДЛЯ метки Gray символ & выделяет последнюю букву, поскольку все предыдущие буквы уже использованы в качестве

выделенных символов других меток).

Используя команду меню View | Tab Order, установите значения свойства Tabindex для следующих компонентов, размещенных В форме:

label1 — 0, trackBar1 — 1, label2 — 2, trackBar2 — 3, label3 — 4, trackBar3 — 5, label4 — 6, trackBar4 — 7, label6 — 8, trackBar5 — 9.

Переключение между ползунками теперь можно осуществлять с помощью клавиатурных <Alt>-комбинаций символов, подчеркнутых в подписях к ползункам (<Alt>+<A> для ползунка, определяющего прозрачность, <Alt>+<R> для ползунка, определяющего интенсивность красного цвета, ит. д.). Отметим, что <Alt>-комбинации выполняют требуемое действие только при установке английской раскладки клавиатуры.

Если при запуске программы в метках отсутствуют линии подчеркивания, то следует нажать клавишу <Alt>. Кроме того, у текущего ползунка может отсутствовать рамка выделения. Для отображения в окне рамки выделения надо нажать клавишу <Tab>.

Если <Alt>-комбинация назначена компоненту, который не может принимать фокус (именно такими компонентами являются метки), то при нажатии подобной комбинации делается попытка установить фокус на компоненте, имеющем большее значение свойства Tabindex. Если несколько компонентов имеют одинаковые значения свойства Tabindex (что допускается), то они перебираются B z-порядке, т. е. по возрастанию z-координаты.

Привязка компонентов

Измените свойство Anchor для компонентов trackBar1—trackBar5, положив его равным Top, Left, Right (при установке свойства Anchor в окне Properties отображается специальная панель; для настройки в этой панели требуемого варианта следует выделить линию, ведущую к правой границе панели, поскольку линии, ведущие к верхней и левой границе, уже выделены по умолчанию).

Аналогичными действиями установите свойство Anchor компонента panel1 равным Top, Bottom, Left, Right (в данном случае в панели настройки свойства Anchor надо выделить линии, ведущие к нижней и правой границам, оставив также выделенными линии, ведущие к верхней и левой границам). Подчеркнем, что необходимо настроить свойство Anchor панели panel1, а не содержащейся на ней метки label6.

Если при выполнении программы изменить размер формы Form1, то размер компонентов будет скорректирован в соответствии с новым размером формы (ползунки trackBar1—trackBar5 изменят Ширину, а панель panel1 с меткой label6 — ширину и высоту).

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

Добавьте в конструктор класса Form1 оператор

MinimumSize = Size;

Теперь при выполнении программы размер формы можно только увеличить (по сравнению с исходным), поскольку минимально допустимый размер формы, определяемый свойством MinimumSize, совпадает с исходным размером формы, хранящимся в свойстве size.

За привязку (anchoring) компонентов отвечает свойство Anchor, имеющееся у всех визуальных компонентов. С его помощью можно указать, к каким границам формы (а точнее, родительского компонента-контейнера) следует установить привязку. По умолчанию большинство компонентов привязывается к верхней и левой границе своих родительских компонентов. При изменении размеров родительского компонента расстояние от его "привязанных” границ до границ дочернего компонента остается неизменным.

Если компонент не привязан ни к одной из вертикальных границ, то при изменении размера родительского компонента ширина дочернего компонента меняться не будет, а его расстояние до левой и правой границы родительского

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

Приведем пример. Если разместить компонент по центру формы и установить привязку ко всем границам, то при любом изменении размеров формы он будет оставаться в центре формы, причем его размеры будут изменяться. Если же для такого компонента полностью снять привязку (т. е. установить для его свойства Anchor значение None), то компонент по-прежнему будет оставаться в центре формы, но его размер при этом меняться не будет.

Другим способом обеспечить синхронизацию размера и положения компонентов относительно родительского компонента (в частности, формы) является стыковка (docking), настраиваемая с помощью свойства Dock. Эти способы являются взаимно исключающими: если изменить значение по умолчанию для свойства Anchor или Dock, то другое свойство автоматически примет значение по умолчанию.

Помимо свойства MinimumSize, использованного при исправлении недочета, имеется аналогичное свойство Maximumsize, которое позволяет ограничить максимальный размер формы. Если по какому-либо измерению размер ограничивать не требуется, то достаточно присвоить соответствующей координате свойств MinimumSize и MaximumSize Значение 0. Заметим, что данные свойства имеются у всех визуальных компонентов; по умолчанию каждое из них равно 0; 0, т. е. ограничение на размер отсутствует.