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

Вопрос 27 Форма как базовый элемент графического интерфейса. Рамка для формы. Кнопки изменения размеров формы. Прозрачность.

Вопрос 28 Передача фокуса ввода на форме. Свойства TabStop TabIndex.

Свойство TabStop

Свойство TabStop может иметь два значения — True и False. Если у элемента управления, расположенного в форме, это свойство имеет значение, равное True, пользователь может передать фокус ввода данному элементу управления с помощью клавиши табуляции. В том случае, когда значение свойства TabStop равно False, при нажатии на клавишу табуляции фокус ввода будет «перескакивать» через соответствующий элемент управления.

Таким образом, для всех элементов управления, которые должны получать фокус ввода с помощью клавиши табуляции, необходимо установить данное свойство равным True. Обычно это такие элементы управления, как поля ввода текстовой информации, кнопки, списки, таблицы, деревья, флажки и т.п.

В нашей программе UserLogin свойство TabStop имеет по умолчанию значение True для полей ввода идентификатора пользователя и пароля, а также для кнопок Войти и Отменить.

Свойство TabIndex

Только что описанное свойство TabStop управляет возможностью получения фокуса элементами управления, расположенными в форме, а свойство TabIndex определяет порядок, в котором эти элементы управления получают фокус ввода при использовании клавиши табуляции.

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

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

Вы можете управлять порядком передачи фокуса ввода при использовании клавиши табуляции, изменяя соответствующим образом значения свойства TabIndex элементов управления, расположенных в форме. Но при этом необходимо следить, чтобы все элементы управления имели разные значения этого свойства, иначе логика передачи фокуса ввода будет нарушена.

Вопрос 29 Текстовые поля. Элемент управления Label и TextBox. Сравнительный анализ.

Элемент управления Label (Надпись)

Label (Надпись) - это элемент управления, применяемый для отображения информации, которую пользователь не может изменить непосредственно там, где она находится. Этот элемент управления часто используется, чтобы вывести заголовки и надписи на других элементах управления. Или, ещё, Label используется, чтобы отобразить результаты какой-либо операции, выполненной компьютером. Элемент управления label можно выбрать или активизировать из окна инструментов (toolbox). Он выглядит так:

В окне инстументов:     На форме, по умолчанию (default):

Свойства

Несколько полезных свойств для элемента управления label:

Свойство     Описание

Name (Имя)     Имя используется для распознования того или иного элемента управления. После имени ставтся префикс из трех букв lbl.

Caption (Заголовок)     Текст (строковый тип), который появляется в надписи.

Font (Шрифт)     Устанавливает вид шрифта, его начертание и размер для заголовка (надписи).

Alignment     Выравнивает текст заголовка по правому, левому краю или по центру.

BackColor     Устанавливает цвет фона для надписи.

ForeColor     Устанавливает цвет самой надписи.

BorderStyle     Определяет тип границы, бордюра (border) вокруг надписи.

Left (Слева)     Определяет расстояние от левого края формы до левого края надписи.

Top (Сверху)     Определяет расстояние от верхнего края формы до верхнего края надписи.

Width (Ширина)     Ширина надписи в твипах.

Height (Высота)     Высота надписи в твипах.

Visible (Видимость)     Определяет, видна или не видна надпись на форме (в режиме выполнения проекта).

Пример

Начните новый проект. Поместите элемент управления label (надпись) на форму.Измените размеры надписи и переместите ее в удобное для просмотра место, например, в центр формы. Установите свойство Caption (Заголовок), т.е. введите какой-либо текст. Измените свойство Fonts (Шрифт). Попробуйте установить различные значения для свойства Alignment (Выравнивание). Вы, наверное, заметили, что изменение свойства Alignment воздействует только по горизонтали, вертикального выравнивания здесь нет. Теперь перейдем к свойству BorderStyle (Тип границы). Существует два возможных значения для его установки. Обратите внимание, что по умолчанию стоит значение 0-None (0 - без границы), что просто предполагает наличие надписи внутри формы, а вот другое значение свойства 1-Fixed Single (1 - фиксированная одинарная) дает нам границу для надписи в виде объемного, как бы утопленного, прямоугольника (действительно бассейн с бордюром - `border'). После этого измените свойства BackColor (Цвет фона для надписи) и ForeColor (Цвет самой надписи). При этом вы можете получить не совсем подходящие для отображения на экране монитора сочетания цветов. Текст надписи должен легко читаться любым пользователем, который будет работать с вашей программой.

Для элемента управления label наиболее часто употребляемое свойство, это - Caption (Заголовок). С помощью этого свойства можно задать информацию, которая будет отображена в элементе управления label. Здесь необходимо сделать два замечания. Во-первых, вы должны убедиться, что размеры элемента управления label соответствуют размеру заголовка и весь текст виден полностью. Во-вторых, обратите внимание, что свойство Caption имеет строковый тип. Поэтому значения для него можно задавать только строковые. Когда вы устаналиваете свойство Caption в режиме выполнения (run mode), то информация, вводимая для этого свойства, должна быть в кавычках. Например, если у вас есть элемент управления с именем lblExample, и вы хотите установить для свойстваCaption значение My Label Box, то используя код на BASIC (запись через точку), можно записать:

lblExample.Caption = “My Label Box”

Вы можете не беспокоиться относительно кавычек при установке свойства Caption в режиме разработки (design mode). Visual Basic автоматически установит именно строковый тип значения свойства.

События

Одно событие представляет для нас интерес на данном этапе для элемента управления label:

Событие     Описание

Click (Щелчок)     Событие выполняется, когда пользователь щелкает по элементу управления label мышью.

Выполнение этого события позволяет пользователю выбирать различные установки для нескольких элементов управления label, находящихся на форме. Что можно сделать с помощью этого события? Например, сделать программу тестирования, где можно выбирать один из ответов на поставленный вопрос или изменить какой-либо цвет после щелчка.

Элемент управления Text Box (Текстовое поле)

Элемент управления text box (тектовое поле) представляет собой окно, которое можно поместить на форму в режиме разработки (design mode), а вводить текст в это окно пользователь может в режиме выполнения программы (run mode). Ввести текст можно также, используя процедуру обработки событий.Правильным будет и такое предположение: элемент управления text box это то же самое, что и label, только его содержание может изменять пользователь программы. Элемент управления text box можно выбрать из окна инструментов Visual Basic. Он выглядит так:

В окне инструментов:     На форме (по умолчанию):

Свойства

Элемент управления text box имеет богатый набор полезных свойств:

Свойства     Описание

Name (Имя)     Имя используется для распознования того или иного текстового поля. После имени текстового поля ставятся три буквы префикса txt.

Text (Текст)     Текст (строковое значение), который находится в текстовом поле.

Font (Шрифт)     Устанавливает вид шрифта, его начертание и размер.

Alignment (Выравнивание)     Определяет положение текста: или слева, или справа, или по середине текстового поля (действует, только тогда, когда для свойства MultiLine установлено значение True).

MultiLine     Определяет, как текст отображается в текстовом поле - в одну или несколько строк (multiple lines - в несколько строк).

ScrollBars     Определяет вид полосы прокрутки.

MaxLength     Максимальная длина (Maximum length), имеется ввиду максимальное количество отображаемых символов. Если установить 0, то количество символов без ограничений.

BackColor     Устанавливает цвет фона для текстового поля.

ForeColor     Устанавливает цвет вводимого текста.

BorderStyle     Устанавливает тип границы для текстового поля.

Left (Слева)     Расстояние от левого края формы до левого края текстового поля.

Top (Сверху)     Расстояние от верхнего края формы до верхнего края текстового поля.

Width (Ширина)      Ширина текстового поля в твипах.

Height (Высота)     Высота текстового поля в твипах.

Locked (Блокировка)     Если установлено значение True, то пользователь не может изменить текст в текстовом поле (только в режиме выполнения - run mode).

Visible (Видимость)     Определяет, когда текстовое поле будет видимым или невидимым на форме (run mode).

Пример

Откройте новый проект в Visual Basic. Поместите элемент управления text box (текстовое поле) на форму. Измените размер и переместите его так, как вам удобно. Введите какой-либо текст с помощью свойства text. Выберите понравившийся шрифт с помощью свойства font. Попробуйте установить различные значения для свойства alignment (выравнивание). Обратите внимание, что выравнивать текст по центру и по правому краю, вы можете только, если свойствуMultiLine (многострочность) присвоено значение True (Истина). А теперь рассмотрим различия при установке значений для свойства BorderStyle (тип границы). Для этого свойства элемента управления label по умолчанию устанавливается значение None (Отсутствует), а для элемента управления text boxустанавливается значение Fixed Single (фиксированная одинарная). Измените свойства BackColor (цвет фона) и ForeColor (цвет вводимого текста). Установите для свойства MultiLine (многострочность) значение True и поэкспериментируйте с различными значениями для свойства ScrollBars (полосы прокруток). Вы, конечно, поняли, что элемент управления text box очень легко приспособить для выполнения различных задач и он хорошо размещается на форме.

Подобно свойству Caption (заголовок) для элемента управления label (надпись), свойство Text (текст) для элемента управления text box (текстовое поле) имеет строковое значение. Таким образом, когда вы устанавливаете свойство Text в режиме выполнения (run mode), вы должны заключать соответствующее значение в кавычки (“), чтобы присвоить этому значению необходимый тип. Установка свойства Text в режиме разработки (design mode) не требует применения кавычек и вам не надо заключать в них вводимые символы.

События

Наиболее важное свойство элемента управления text box - это свойство Text. Какпрограммист, вы должны знать, когда и по какой команде это свойство изменит своё значение. Имеется два события, с помощью которых можно управлять значениями свойства Text:

Событие     Описание

Change (Изменить)     Событие выполняется, когда изменяется Text.

LostFocus (Потеря фокуса)     Событие выполняется, когда пользователь заканчивает работу с текстовым полем и вызывает событие на другом элементе управления.

Событие Change (Изменить) выполняется всякий раз когда пользователь вводит очередной символ в текстовое поле, нажимая клавишу на клавиатуре и вызывая при этом процедуру обработки событий Change. В зависимости от свойства Text процедура обработки событий устанавливает соответствующее значение.

Процедура LostFocus (Потеря фокуса) полезна для контроля за введением текста. Давайте вспомним, как при размещении элементов управления на форме в режиме разработки, мы можем сделать один из элементов управления `активным', щелкнув по нему. Подобное происходит, когда программа находится в режиме выполнения. Пользователь может воздействовать только на один элемент управления за один раз. Так вот, если у пользователя имеется возможность воздействовать на элемент управления (вызывать событие), то говорят, что элемент управления имеет focus (фокус). Когда пользователь вводит с клавиатуры текст в текстовое поле, то фокус находится на этом поле. Событие LostFocus (Потеря фокуса) выполняется, когда фокус переходит с текущего на другой элемент управления. В этот момент мы знаем, что пользователь произвел ввод текста в текстовое поле и, соответственно, произвел изменение свойства Text. Поэтому процедура обработки событий, связанная с изменением фокуса, полезна для определения значения свойства Text.