ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание
Шрифт:
Чтобы связать ToolTip с данным элементом управления, выберите элемент управления, в котором должен активизироваться ToolTip, и соответствующим образом установите свойство ToolTip on (рис. 21.15).
Рис. 21.15. Ассоциация ToolTip с элементом управления
Теперь наш проект CarConfig можно считать завершенным. На рис. 21.16 созданная подсказка показана в действии.
Рис. 21.16.
Исходный код. Проект CarConfig размещен в подкаталоге, соответствующем главе 21.
Элемент TabControl
Чтобы проиллюстрировать остальные "экзотические" элементы управления, давайте построим новую форму, поддерживающую TabControl (элемент управления вкладками). Вы, возможно, знаете, что TabControl позволяет селективно скрывать или показывать страницы связанного содержимого с помощью щелчка на соответствующих "закладках". Сначала создайте новое приложение Windows Forms с именем ExoticControls и поменяйте имя исходной формы на MainWindow.
Затем добавьте TabControl в окно проектирования формы и, используя окно свойств, с помощью коллекции Tab Pages откройте редактор страниц (в соответствующей строке окна свойств щелкните на кнопке с многоточием). Появится диалоговое окно конфигурации инструмента. Добавьте в нем шесть страниц и установите свойства Text и Name страниц в соответствии с тем, как показано на рис. 21.17.
Рис. 21.17. Многостраничный элемент управления TabControl
При создании элемента управления TabControl следует учитывать то, что каждая страница представляется объектом TabPage, содержащимся во внутренней коллекции страниц TabControl. Сконфигурированный объект TabControl (подобно любому другому элементу графического интерфейса в форме) добавляется в коллекцию Controls формы. Рассмотрите соответствующий фрагмент метода InitializeComponent.
Теперь, имея базовую форму, поддерживающую набор вкладок, вы можете настроить каждую страницу для демонстрации остальных "экзотических" элементов управления. Сначала давайте рассмотрим роль TrackBar.
Замечание. Элемент управления TabControl обеспечивает поддержку событий Selected, Selecting, Deselected и Deselecting. Это может оказаться полезным тогда, когда требуется динамически генерировать соответствующие элементы в пределах страницы.
Элемент TrackBar
Элемент управления TrackBar дает пользователям возможность выбора из диапазона значений, используя нечто, похожее на полосу прокрутки. При работе с этим типом нужно
Таблица 21.6. Свойства TrackBar
Свойства | Описание |
---|---|
LargeChange | Число делений, на которое изменяется положение ползунка TrackBar, когда происходит событие, предполагающее "большое" изменение (например, щелчок кнопки мыши, когда указатель находится в области направляющей ползунка, или нажатие клавиш ‹PageUp› и ‹PageDown›) |
Maximum Minimum | Верхняя и нижняя границы диапазона TrackBar |
Orientation | Ориентация для TrackBar. Действительными являются значения из перечня Orientation (горизонтальная или вертикальная ориентация) |
SmallChange | Число делений, на которое изменяется положение TrackBar, когда происходит событие, предполагающее "малое" изменение (например, нажатие клавиш со стрелками) |
TickFrequency | Влияет на число делений, которое требуется изобразить. Например, для TrackBar c верхним пределом 100 нерационально изображать все 100 делений для элемента управления длиной 5 см. Если установить свойство TickFrequency равным 5, для TrackBar будет показано только 20 делений (одно деление будет представлять 5 единиц) |
TickStyle | Задает внешний вид элемента управления TrackBar. От этого значения (которое должно соответствовать значениям перечня TickStyle) зависит и то, где будут изображены деления относительно ползунка, и то, как будет выглядеть сам ползунок |
Value | Читает или устанавливает значение, задающее текущее положение ползунка TrackBar. С помощью этого свойства можно получить числовое значение, содержащееся в TrackBar, чтобы использовать его в приложении |
Для примера обновите первую вкладку элемента TabControl, разместив на ней три элемента TrackBar, для каждого из которых верхнее значение диапазона равно 255, а нижнее – нулю, При смещении пользователем любого из ползунков приложение перехватывает событие Scroll и динамически создает новый тип System.Drawing.Color на основе новых значений ползунков. Этот тип Color будет использоваться для того, чтобы отображать соответствующим цветом элемент PictureBox (с именем colorBox) и соответствующие RGB-значения в пределах типа Label (с именем lblCurrColor). На рис. 21.18 первая страница окна показана в завершенном виде.
Рис. 21.18. Страница TrackBar
Сначала, используя окно проектирования формы, разместите три элемента управления TrackBar на первой вкладке и назначьте соответствующим членам-переменным подходящие имена (redTrackBar, greenTrackBar и blueTrackBar). Затем обработайте событие Scroll для каждого TrackBar. Вот подходящий программный код InitializeComponent для blueTrackBar (программный код остальных полос почти идентичен данному, за исключением имени обработчика события Scroll).