Visual Basic .NET для чайников - У. Вонг. Visual Basic .NET для чайников - У. Диалектикамосква СанктПетербург Киев
Скачать 7.1 Mb.
|
Глава 6. Разработка форм 79 1. Откройте окно Solution Explorer. Чтобы сделать это, нажмите комбинацию клавиш Explorer или щелкните на панели инструментов на значке Solution Explorer. 2. Щелкните на форме, которой вы хотите присвоить новое имя. Можно также щелкнуть правой кнопкой мыши в окне формы, выбрать в открыв- шемся списке команду Rename (Переименовать) и указать новое имя. Если вы поступите именно так, то можете не выполнять шаги 3 и 4, указанные ниже. 3. Откройте окно Properties. Чтобы сделать это, нажмите клавишу Window, в окне Solution Explorer щелкните на значке Properties Window или щелкните правой мыши в окне формы и выберите команду Properties. 4. Дважды щелкните на свойстве Name (Имя), относящемся к категории Sign, и наберите новое имя. Visual Basic всегда добавляет к имени формы расширение . VB, например: vb. Отображение нескольких форм Поскольку программы обычно состоят из двух и более форм, иногда возникает необходи- мость отобразить на экране сразу несколько форм. Вот как это делается. 1. Откройте окно Solution Explorer. Чтобы открыть данное окно, нажмите комбинацию клавиш Explorer или щелкните на панели инструментов на значке Solution Explorer. 2. Дважды щелкните на форме, которую хотите открыть. Visual Basic отобразит выбраню вами форму. Visual Basic может в каждый отдельный момент времени отображать на эк- ране только одну форму. Однако если вы выбрали для просмотра несколько форм, Visuai Basic поместит каждую из них на отдельной вкладке. Имя формы и слово Design будут отображаться на корешке соответствующей вкладки, и все корешки будут постоянно видны на экране. Для того чтобы отобразить какую-то форму, достаточно щелкнуть на ее корешке. А чтобы просмотреть коды BASIC, относящиеся к форме, нужно щелкнуть на вкладе кодов. Ballot • Microsoft Visual • Edit guild ' - Вкладки Design Вкладка Code Вы можете быстро перейти к нужной форме, щелкнув на вкладке с ее именем 80 Часть //. Создание пользовательского интерфейса внешнего Если вы уже создали форму и успели разместить в ее окне какие-то объекты (например, кнопки или флажки), то теперь вам наверняка захочется поработать немного над ее внешним видом, чтобы она не выглядела как невзрачное серое пятно. Изменяя цветовую гамму пользовательского интерфейса, вы можете сделать его либо приятным и привлекательным, либо, наоборот, отталкивающим и раздра- жающим. Если выбранные вами цвета не понравятся пользователям, они просто не захотят пользоваться вашей программой. Итак, раскрасим вашу форму По умолчанию все создаваемые Visual Basic формы имеют серую фоновую заливку. В этом нет ничего страшного, но иногда все же хочется добавить хоть какой-то цвет, чтобы окно формы не выглядело как фрагмент бортовой части линкора или эсминца. Изменить цвет фона в окне формы можно следующим образом. 1. Откройте окно Solution Explorer. Чтобы сделать это, нажмите комбинацию клавиш Solution Explorer или щелкните на панели инструментов на значке Solution Explorer. 2. Дважды щелкните на форме, вил которой хотите изменить. Вокруг выбранной вами формы появятся маркеры. 3. Откройте окно Properties. Чтобы сделать это, нажмите клавишу Window, в окне Solution Explorer щелкните на значке Properties Window или щелкните правой кнопкой мыши в окне формы и выберите команду Properties. 4. Щелкните на свойстве BackColor (Цвет фона), относится к категории Ap- pearance. Рядом появится кнопка со стрелкой. 5. Щелкните на кнопке со стрелкой. | Coral Salmon СИ Bisque 6.2. Выберите в этом окне цвет фона для своей формы Откроется диалоговое окно (рис. 6.2), в котором вам на выбор будут представле- ны три типа фоновых цветов: • Custom — обычный набор цветов и их оттенков; Глава 6. Разработка форм 81 • Web цвета, разработанные для создания Web-страниц (что не мешает вам использовать их при создании собственной программы); • System — цвета, используемые в среде Windows (например, цвета кнопок на панелях инструментов). 6. Щелкните на одной из вкладок и выберите понравившийся цвет. Visual Basic заполнит форму указанными цветом. Создание фоновых рисунков Вы можете не только заполнить окно формы каким-нибудь цветом, но и применить в ка- честве фонового рисунка какое-либо изображение, например, логотип компании, пей- заж или портрет вашего босса. Чтобы сделать некий рисунок необходимо выполнить следующие действия. 1. Откройте окно Solution Explorer. Чтобы сделать это, нажмите комбинацию клавиш выберите коман- ду Explorer или щелкните на панели инструментов на значке Solution Explorer. 2. Дважды щелкните на форме, вид которой хотите изменить. Вокруг выбранной вами формы появятся маркеры. 3. Откройте окно Properties. Чтобы сделать это, нажмите клавишу Properties Window, в окне Solution Explorer щелкните на значке Properties Window или щелкните правой кнопкой мыши в окне формы и выберите команду Properties. 4. Щелкните на свойстве (Фоновый рисунок), относящемся к категории Appearance. Рядом с ним появится кнопка с тремя точками. 5. Щелкните на кнопке с тремя точками. На экране появится диалоговое окно Open. 6. Выберите изображение, которое вы хотите использовать в качестве фоново- го рисунка, и щелкните на кнопке Open. Возможно, вам придется открыть несколько папок, чтобы добраться до файла, в ко- тором сохранен нужный рисунок. Если окно формы больше, чем выбранный вами рисунок, Visual Basic заполнит форму несколькими копиями этого рисунка. Чтобы удалить рисунок, на пятом шаге щелкните правой кнопкой мыши на кнопке с тремя точками и выберите команду Reset (Сброс). Виды границ Границы способны не только посеять вражду между соседними государствами, но и по- мочь вам определить способ отображения формы на экране монитора. Visual Basic пре- доставляет в ваше распоряжение семь таких способов. Все они описаны ниже, а соответст- вующие примеры можно увидеть на рис. 6.3. 82 Часть II. Создание пользовательского интерфейса None. Границы и строка заголовка не отображаются, но все объекты формы будут видны на экране. Пользователь не может переместить, изменить размеры или свер- нуть форму такого типа. Отображаются строка заголовка, кнопки управления окном и кнопка закрытия окна. Пользователь может перемещать, сворачивать и разворачи- вать окно, но не может изменять его размеры. Работает точно так же, как и окно типа F i x e d S i n g l e : единственное, что добавлено, — это эффект трехмерности вокруг границ формы. Пользователь может перемещать, сворачивать и разворачивать окно такого типа, но не может изменять его размеры. Отображаются строка заголовка, кнопки управления окном и кнопка закрытия окна. Пользователь может перемешать, сворачивать и разворачи- вать окно, но не может изменять его размеры. Отображаются строка заголовка, кнопки управления окном и кнопка за- крытия окна. Пользователь может перемещать, сворачивать и разворачивать окно, также изменять его размеры. Этот стиль используется для всех форм по умолча- нию. Fixed Отображаются строка заголовка и кнопка закрытия окна. Пользователь может перемещать такое окно, но не может сворачивать, разворачи- вать и изменять его размеры. S i z a b l e ToolWindow. Отображаются строка заголовка и кнопка закрытия окна. Пользователь может перемещать такое окно (перетаскивая его за строку заголовка) и изменять его размеры (перетаскивая стороны или углы окна). Рис. 6.3. Семь способов отображения окна формы на экране Таким образом, каждый из описанных способов не только позволяет отображать различ- ные объекты на экране, но и определяет, может ли пользователь перемещать окно и изменять его размеры. А вот как можно изменить вид границ формы. 1. Откройте окно Solution Explorer. Глава 6. Разработка форм 83 Чтобы сделать это, нажмите комбинацию клавиш выберите коман- ду Explorer или на панели инструментов на значке Solution Explorer. 2. щелкните на форме, вид которой вы хотите изменить. Вокруг выбранной вами формы появятся маркеры. 3. Откройте окно Properties. Чтобы сделать это, нажмите клавишу Window, в окне Solution Explorer щелкните на значке Properties Window или щелкните правой кнопкой мыши в окне формы и выберите команду Properties. 4. Щелкните на свойстве (Вид границы), относящемуся к ка- тегории Appearance. Рядом с формой появится кнопка с направленной вниз стрелкой. 5. Щелкните на кнопке со стрелкой и выберите тип границы (например, Visual Basic изменит способ отображения формы на экране. Сворачивание и разворачивание окна формы Форма может отображаться на экране в развернутом виде (в таком случае она будет зани- мать все пространство экрана), в свернутом виде (на экране будет отображаться только ее за- головок) и в нормальном виде (окно формы будет занимать только часть экрана). Все три ви- да отображения формы представлены на рис. 6.4. a maximized This is a normal form Развернутое окно Обычное окно Свернутое окно Рис. 6.4. Развернутое, обычное и свернутое окно формы 84 Часть II. Создание пользовательского интерфейса Чтобы заставить окно формы в процессе выполнения программы открыться в каком-то определенном виде, вы должны выполнить следующие действия. 1. Откройте окно Solution Explorer. Чтобы сделать это, нажмите комбинацию клавиш выберите коман- ду Explorer или щелкните на панели инструментов на значке Solution Explorer. 2. Дважды щелкните на форме, параметры которой нужно изменить. Вокруг выбранной вами формы появятся маркеры. 3. Откройте окно Properties. Чтобы сделать это, нажмите клавишу Window, в окне Solution Explorer щелкните на значке Properties Window или щелкните правой кнопкой мыши в окне формы и выберите команду Properties. 4. Щелкните на свойстве (Вид окна) категории Layout. Рядом с формой появится кнопка с направленной вниз стрелкой. 5. Щелкните на кнопке со стрелкой и выберите нужную опцию (например, Normal или Minimized). Большинство форм отображают кнопки управления окном (кнопки сворачивания и разво- рачивания окна), благодаря чему пользователь может в любое время свернуть или развернуть таковое. Конечно же, если вы хотите лишить его такой возможности, можете удалить эти кнопки с экрана. Если вы определите, что стилем отображения окна формы на экране будет None, Fixed Single, Fixed или S i z a b l e кнопки управления окном отображаться не будут. или отобразить на экране кнопки управления окном вы можете следующим образом. Откройте окно Solution Explorer. Чтобы сделать это, нажмите комбинацию клавиш Solution Explorer или щелкните на панели инструментов на значке Solution Explorer. Дважды щелкните на форме, параметры которой нужно изменить. Вокруг выбранной вами формы появятся маркеры. Откройте окно Properties. Чтобы сделать это, нажмите клавишу Window, в окне Solution Explorer щелкните на значке Properties Window или щелкните правой кнопкой мыши в окне формы и выберите команду Properties. Щелкните на свойстве (Кнопка сворачивании окна) или (Кнопка разворачивания окна), которые относятся к категории Windows Style, и выберите значение True или F a l s e . Если вы планируете разрешить пользователю разворачивать окно или изменять его размеры, не забудьте закрепить объекты формы (кнопки, флажки, переключатели и т.п.), поскольку в противном случае их будет кидать в разные стороны как лодки во время шторма или же они будут вообще пропадать с экрана. О том, как можно за- крепить объекты в окне формы, было рассказано в главе 5. Скрыть 1. Глава 6. Разработка форм 85 Размещение формы на экране Чтобы получить гарантию того, что во время работы программа будет выглядеть именно так, как вы себе это представляли, необходимо точно указать, в каком месте экрана должна открываться каждая форма. Если вы этого не сделаете, формы могут открываться, например, одна над другой или, скажем, в тех частях экрана, на которые вы не рассчитывали. Если для свойства WindowState вы определили значение или Maximized, указывать местонахождение формы на экране не имеет смысла, по- скольку в первом случае открытая форма BASIC будет занимать все пространство экрана, а во втором случае она будет представлена только своим заголовком на па- нели задач Windows. Чтобы определить положение открывающейся формы на экране, вам нужно для свойства StartPosition (Начальная позиция) категории Layout выбрать одно из пяти возможных значений. i; Manual. Позволяет с использованием свойства Location (категория Layout) вруч- ную определить позицию формы на экране. C e n t e r S c r e e n . Форма открывается в центре экрана. Позволяет программе самостоятельно определить оптимальное место для открытия формы (хотя вам оно может показаться не самым оптимальным). aultBounds. Позволяет программе самостоятельно определить оп- тимальное место и оптимальный размер открываемой формы (хотя вам они могут показаться не такими уж и оптимальными). C e n t e r P a r e n t . Форма открывается в центре окна другой формы. Чтобы выбрать один из этих пяти вариантов, выполните следующие действия. 1. Откройте окно Solution Explorer. Чтобы сделать это, нажмите комбинацию клавиш выберите коман- ду Explorer или щелкните на панели инструментов на значке Solution Explorer. 2. Дважды щелкните на форме, параметры открытия которой нужно изменить. Вокруг выбранной вами формы появятся маркеры. 3. Откройте окно Properties. Для этого нажмите клавишу Window, в окне Solution Explorer щелкните на значке Properties Window или щелкните правой кнопкой мыши в окне формы и выберите команду Properties. 4. Щелкните на свойстве StartPosition (Начальная позиция) категории Layout. Рядом появится кнопка с направленной вниз стрелкой. 5. Щелкните на кнопке со стрелкой и выберите нужную опцию (например, CenterScreen). Для определения местонахождения формы на экране в процессе выполнения про- граммы можно также использовать код Вот как этот код может выглядеть: = New P o i n t fX, Y) 86 Часть II. Создание пользовательского интерфейса Команда указывает Visual Basic на необходимость переместить ак- тивную в данный момент форму в нужную позицию. Значения X и Y определяют, какое рас- стояние должно быть между окном формы и левой стороной экрана (X) и между окном фор- мы и верхней стороной экрана (Y). Удаление и добавление форм Не исключено, что в один прекрасный момент вы решите, что какая-то форма для нормальной работы вашей программы вовсе и не нужна. В таком случае вы вынуждены будете ее удалить. 1. Откройте окно Solution Explorer. Чтобы сделать это, нажмите комбинацию клавиш Explorer или щелкните на панели инструментов на значке Solution Explorer. 2. Щелкните на форме, которую собираетесь удалить. 3. Выберите команду From Project из проек- та) или щелкните правой кнопкой мыши на форме и выберите команду Ex- clude From Project. Visual Basic удалит форму из окна Solution Explorer. Если вы удалите форму, которая ранее была сохранена, она все еще будет сохра- няться на диске вашего компьютера. Правда, теперь она уже не будет частью ваше- го проекта Visual Basic Чтобы физически удалить все следы существования этой формы, используйте Windows Explorer. Вы найдете файл этой формы и удали- те его из памяти компьютера. Если вы хотите добавить к своему проекту уже существующую форму (например ту, которую недавно из него удалили), выберите команду Existing Item существующий элемент) или нажмите комбинацию кла- виш и щелкните на форме, которую хотите включить в проект. Тест на проверку полученных вами знаний 1. Что такое форма? а. Термин Visual Basic обозначающий окно программы. б. Философское понятие, противоположное программы. в. Какая-то бесполезная кото- рая при каждом запуске Visual отображается на экране в ожидании того, что я начну ее чем-то заполнять. г. Форма - это моя реакция на Visual Basic Если я пишу программу и она на- чинает работать, значит, я в хорошей Но если что-то не получается, тогда я в плохой форме, и лучше меня в это время не трогать. 2. Если ваша программа состоит из нескольких форм, как можно просмотреть каждую из них? а. Никак. Это одна из причин, по которой про- граммирование считается невероятно слож- ной задачей. б. Необходимо купить еще несколько теров, чтобы можно было просматривать ка- ждую форму на отдельном мониторе. в. Нужно щелкнуть на вкладке Design той формы, которую я хочу просмотреть: Если для нужной формы такая вкладка еще не отображается, нужно открыть окно Solution Explorer и дважды щелкнуть на названии этой формы. Глава 6. Разработка форм 87 Когда ваша программа начинает функционировать, то обычно первой открывается форма, созданная в самом начале процесса разработки проекта. Если вы хотите, чтобы в первую оче- редь открывалась какая-то другая форма, выполните такие действия. 1. Откройте окно Solution Explorer. Чтобы сделать это, нажмите комбинацию клавиш выберите коман- ду Explorer или щелкните на панели инструментов на значке Solution Explorer. 2. Щелкните правой кнопкой мыши на названии проекта. Откроется контекстное меню. 3. Выберите пункт Properties (Свойства). Откроется диалоговое окно Property Pages (Свойства страниц), показанное на рис. 6.5. 4. Щелкните на кнопке со стрелкой в со списком Startup Object (Запускаемый при старте обьект), чтобы увидеть список всех форм своего проекта. 5. Выберите форму, которая должна отображаться первой, и щелкните на кнопке ОК. Panes Co General Build Path Strong Defaults Cancel J 6.5. В этом диалоговом окне вы можете выбрать форму, которая будет откры- ваться сразу же после запуска программы что ваша программа включает в себя несколько форм, конечно же, очень хорошо, но в процессе работы программы в момент времени обычно отображается только одна форма. Чтобы можно было убрать с экрана одну форму и отобразить вместо нее другую. 88 Часть II. Создание пользовательского интерфейса нужно написать код BASIC, который бы говорил программе: "Хорошо, теперь вот эту форму покажи на экране, а ту, которая там сейчас, спрячь". Открытие, скрытие и закрытие форм требует написания специальных кодов BASIC, и таковые будут подробно рассмотрены в четвертой части книги. Сейчас, в сставшейся части настоящей главы, мы дадим лишь краткий обзор этой темы, по- этому пока не пытайтесь глубоко вникнуть во все тонкости работы приведенных здесь кодов BASSC. Открытие форм Для того чтобы открыть (или закрыть) форму, нужно знать, какое ей присвоено имя. В окне Solution Explorer вы можете просмотреть список имен всех форм (они выглядят при- близительно так: . vb), используемых вашей программой. Если вы уже знаете, как называется форма, которую необходимо отобразить на экране, нужно написать следующий код Dim As oForm = oForm. Show ( ) = Возможно, кому-то будет трудно понять, как он работает, поэтому ниже мы дадим крат- кое пояснение. 1. Первая строка приказывает Visual Basic объект oForm, который будет представлять собой форму, именуемую FormName". Таким образом, если вы хотите открыть форму, носящую название нужно написать сле- дующий код: As frmMain (Вместо oForm вы можете дать объекту любое другое имя. Буква о в начале име- ни просто напоминает вам, что это объект.) 2. Вторая строка дает следующее указание Visual Basic новый объ- ект, который будет представлять собой форму (Основное различие между первой и второй строками заключается в том, что первая строка говорит Visual Basic только о необходимости создать объект, представляющий со- бой форму, а вторая строка уже сама создает таковой. Если вам это не совсем очевидно, ничего страшного, пропустите это место и читайте дальше.) 3. Третья строка говорит Visual Basic форму, представляемую объ- ектом с 4. А четвертая строка приказывает ему: для именуемого oForm, зна- чение (Ничего), чтобы освободить память, которую он до этого занимал". Последний шаг очень поскольку при открытии слишком большого количе- ства форм без освобождения занимаемой ими оперативной памяти ресурс таковой быстро исчерпается и ваша программа вызовет сбой в работе компьютера. Скрытие (и восстановление) форм Если хотите временно убрать форму с экрана, напишите такой код: Глава 6. Разработка форм 89 После того как форма будет скрыта, вам в какой-то момент наверняка понадобится вос- становить ее отображение на экране. Для этой цели следует написать код BASIC с использо- ванием команды Show: Закрытие форм Если форма скрыта, то это означает, что она просто не отображается на экране, по- прежнему присутствует в памяти компьютера. Чтобы убрать форму из оперативной памяти, ее нужно закрыть. Это вам поможет сделать такой код. Чтобы завершить выполнение программы, нужно закрыть все ее формы. По край- ней мере хотя бы одна форма должна давать возможность запустить команду для выхода (это может быть кнопка Exit или команда контекстного меню Код BASIC, который закрывает последнюю форму, выглядит приблизительно так: () Если вы просматривали коды, которые Visual Basic генерирует автоматически при создании каждой новой формы, вы, наверное, замечали код, похожий на этот: = Me Данный код означает, что текущая форма будет представляться в дальнейшем сло- вом Теперь для указания на эту форму вам не нужно набирать ее полное имя (например, а достаточно ввести слово 90 Часть //. Создание пользовательского интерфейса Глава 7 Элементы как средство предоставления пользователю возможности выбора Создание кнопок > Создание флажков и переключателей Отображение текста на объектах продуктивно работать, многие программы должны периодически получать данные от пользователя. Например, программе для каких-то целей может понадобиться инфор- мация о вашем семейном положении. Вместо того чтобы заставлять пользователя вводить эту информацию вручную, можно просто предложить ему выбрать один из вариантов: "Женат", "Не женат", "Жестоко Если пользователь должен выбирать только один из возможных вариантов, для этой цели часто используются два или несколько переключателей. В этой главе рассказывается, как создавать кнопки, флажки и переключатели для предос- тавления пользователю возможности выбора. Нажми на — Нажатие кнопки — это самая простая задача для кого бы то ни было. Даже маленький ре- бенок может нажать на кнопку, чтобы включить или выключить, скажем, настольную лампу. Поскольку кнопки сами по себе настолько просты и знакомы нам с детства, многие про- граммы используют их в своем интерфейсе и позволяют на них "нажимать" с помощью мы- ши. Вместо того чтобы заставлять вас блуждать по разным меню в поисках нужной команды, программа позволяет просто щелкнуть на одной из кнопок, которые всегда находятся перед глазами. Единственное, что вам нужно сделать,— это определить, на какой же кнопке все- таки щелкнуть. На самом деле, это всего лишь область на экране, где пользователь может щелкнуть с помощью мыши. На большинстве кнопок отображается текст, указывающий, ка- кая команда выполняется при щелчке (например, OK, Cancel, Open, Exit). Чтобы создать кнопку, вам нужно выполнить действия, перечисленные ниже. 1. Выберите команду Toolbox или нажмите комбинацию клавиш на экране.) На экране появится панель Toolbox. Возможно, вам придется щелкнуть на кнопке Windows Forms, чтобы найти инструмент Button (Кнопка). 2. Щелкните на инструменте Button. Курсор мыши примет вид перекрестия. Если вы дважды щелкнете на инструменте Button панели Toolbox, Visual Basic автоматически создаст кнопку в окне Глава 7. Элементы как средство предоставления пользователю выбора... 91 формы. Потом вы сможете переместить ее на нужное место и придать ей необхо- димые размеры. 3. Поместите курсор мыши над тем местом, где должна быть нарисована кноп- ка, нажмите левую кнопку мыши и перетяните курсор. Когда контур созда- ваемой кнопки примет нужные размеры, отпустите кнопку мыши. Visual Basic нарисует в окне формы кнопку. После того как кнопка будет создана, вам еще придется написать коды BASIC, чтобы щелчок на ней вызывал определенные действия. Подробно о написании ко- дов BASIC рассказывается в четвертой части книги. Создание флажков и Группа флажков как бы говорит пользователю: "Выберите все, что считаете нужным". Сказанное можно продемонстрировать следующим примером: Если я, предположим, собираюсь в поход, мне нужно взять с собой (отметьте все, что вам т р е б у е т с я ) : спальный мешок; ящик пива; загранпаспорт. Переключатели действуют примерно так же, как кнопки на пульте обычного телевизора. В каждый конкретный момент времени вы можете выбрать для просмотра только один канал. И из группы переключателей пользователь может каждый раз выбирать только один из пред- ложенных вариантов. В данном случае пример должен быть несколько иным: Мой месячный заработок (можно выбрать только один п у н к т ) : о т с у т с т в у е т ; О до $100; О до $1000; О вам такая сумма и не Вот как можно создать флажок или переключатель. 1. Выберите команду или нажмите комбинацию клавиш (Пропустите этот шаг, если панель Toolbox уже отображается на экране.) На экране появится панель Toolbox. Возможно, вам придется на кнопке Windows Forms, чтобы найти инструменты Checkbox (Флажок) и RadioButton (Переключатель). 2. Щелкните на кнопке инструмента CheckBox или на кнопке инструмента RadioButton. Курсор мыши примет вид перекрестия. Если вы дважды щелкнете на кнопке ин- струмента CheckBox или RadioButton, Visual Basic автоматически создаст флажок или переключатель в окне формы. Потом вы сможете переместить его в нужное место и придать ему необходимые размеры. 92 Часть II. Создание пользовательского интерфейса 3. Поместите курсор мыши над тем местом, где должен быть нарисован объект, нажмите левую кнопку мыши и его. Когда контур объекта при- мет нужные размеры, отпустите кнопку мыши. Visual Basic нарисует в окне формы флажок или переключатель. В отличие от обычных кнопок, флажки и переключатели не требуют создания ко- дов BASIC для своей активизации. Вам лишь нужно будет написать код, опреде- ляющий, какой из предложенных вариантов был выбран пользователем. О том, как делается, подробно описывается в главе 16, но забегая вперед, скажем, что свойство, определяющее, выбран объект или называется Checked и относится к категории Appearance. Если флажок или переключатель выбран, это свойство принимает значение в противном случае — F a l s e . Выравнивание флажков и переключателей Флажки и переключатели обычно отображаются слева от сопровождающего их текста. Но Visual Basic этим не ограничивается и предлагает еще восемь способов располо- жения флажков и переключателей относительно текста (рис. 7.1). г Let Г Middle Bottom Let Г Top Middle Center Bottom Center Г Г T o p Right Г Bottom Г Рис. Девять способов выравнивания флажков и пере- ключателей относительно сопровождающего их текста Вы можете способ выравнивания флажка или переключателя следующим образом. 1. Щелкните на флажке или переключателе, положение которого хотите вы- ровнять. 2. Откройте окно Properties. Чтобы сделать это, нажмите клавишу Properties в окне Solution Explorer щелкните на кнопке Properties Window или щелкните правой кнопкой мыши в окне формы и выберите команду Properties. 3. Щелкните на свойстве CheckAlign флажка) категории Ap- pearance. Откроется графическое меню, состоящее из девяти прямоугольников, которые соот- ветствуют положениям флажка или переключателя относительно текста (рис. 7.2). 4. Щелкните на одном из прямоугольников и выберите способ выравнивания. Глава 7. Элементы как средство предоставления пользователю выбора... 93 Visual Basic отобразит флажок или переключатель в соответствии со сде- ланным вами выбором. Рис. 7.2. Определив значение свойства можно выбрать способ отображения флажка или пере- ключателя относительно текста Чтобы отобразить флажок или переключатель в определенной позиции, вам, воз- можно, придется изменить размеры самого объекта. Вместо изменения свойства CheckAlign (определяет положение флажка или пере- ключателя) можно изменить свойство TextAlign (Выравнивание текста) категории Appearance, которое определяет положение текста относительно флажка или реключателя. Группировка флажков и переключателей Очень редко флажки и переключатели используются по одному. Почти всегда они соби- раются в группы, как стайки рыбок на мелководье. Чтобы выделить группу флажков или пе- реключателей, можно использовать инструмент (Группа), который рисует рамку вокруг нескольких объектов. После того как рамка нарисована, внутри нее можно размешать флажки и переключатели. предыдущих версиях Visual Basic инструмента GroupBox еще не было. Вместо него использовался другой инструмент, называемый Frame (Рамка). Они очень по- хожи, но все же немного отличаются. Если вы уже программировали на Visual Basic, не забывайте, что GroupBox работает несколько иначе, чем Frame. Если вы создадите в окне формы несколько переключателей, то пользователь в любой момент времени сможет выбрать только один из них. Если же вы, используя инструмент GroupBox, выделите их в две отдельные группы, пользователь сможет выбрать сразу два переключателя: по одному переключателю в каждой группе (рис. 7.3). А вот как можно создать группу. 1. Выберите команду или нажмите комбинацию клавиш На экране появится панель box. Возможно, вам придется щелкнуть на кнопке Windows Forms, чтобы найти кнопку инструмента GroupBox (Группа). 2. Щелкните на кнопке GroupBox. Курсор мыши примет вид перекрестия. Если вы дважды щелкнете на кнопке ин- струмента GroupBox, Visual Basic автоматически нарисует рамку группы в окне формы. Потом вам, скорее всего, придется переместить ее в нужное место и изменить размеры. 94 Часть //. Создание пользовательского интерфейса 3. Поместите курсор мыши над тем местом, где должен быть нарисован объект, нажмите левую кнопку мыши и перетяните курсор. Когда контур рамки группы примет нужные размеры, отпустите кнопку мыши. Visual Basic нарисует в окне формы рамку для группы объектов. Теперь вы можете приступать к созданию флажков и переключателей внутри области, выде- ленной для одной группы. PC-Politics next leader? Г Stage coup money Г coin С 7.3. Используя инструмент переключате- ли можно разбить на две отдельные группы Чтобы визуально выделить группу объектов, нужно для объекта GroupBox изме- нить свойство (Цвет фона), относящееся к категории По- сле того как вы это сделаете, цвет фона внутри области, выделенной рамкой груп- пы, будет отличаться от фонового цвета всего остального окна. Щелкните на рамке группы таким образом, чтобы вокруг нее отобразились марке- ры, после чего вам достаточно будет произвести двойной щелчок на кнопке инст- румента CheckBox или RadioButton, чтобы Visual Basic автоматически соз- дал флажок или переключатель, принадлежащие этой группе. Тест на проверку полученных вами знаний . В чем главное различие между флажками и переключателями? а. Пользователь может выбрать стазу не- сколько флажков и только один чатель. б. Окошко флажка квадратное, а переклю- чателя - круглое. в. Вообще-то разницы никакой не сущест- вует, но я до сих пор не могу понять, что нужно сделать, чтобы выбрать сразу два переключателя. г. Ваш вариант. 2. Каким свойством определяется текст, который будет отображаться на кнопках, флажках и пере- ключателях? а. Текст определяется свойствами моего харак- напишу. б. Текст определяется свойствами решаемых программой задач. в. Определяющее значение имеют свойства и привычки пользователей, для которых созда- ется программа. г. Свойством Text, принадлежащим к катего- рии Appearance. Глава 7. Элементы как средство предоставления пользователю выбора... 95 После того как флажок или переключатель будет нарисован внутри рамки группы, он по- стоянно будет оставаться в ее пределах. При перемещении рамки группы вместе с нею пере- мещаются и все расположенные внутри нее флажки и переключатели. на кнопках, флажках, и После того как кнопка, флажок, переключатель и рамка группы будут нарисованы в окне формы, нужно определить поясняющий текст, который должен на них отображаться. Это достигается путем изменения свойства Text. Чтобы изменить значение свойства Text, сделайте следующее. 1. Щелкните на объекте, для которого нужно изменить текст. Visual Basic отобразит маркеры вокруг выделенного объекта. 2. Откройте окно Properties. Чтобы сделать это, нажмите клавишу Window, в окне Solution Explorer щелкните на значке Properties Window или щелкните правой кнопкой мыши в окне формы и выберите команду Properties. 3. Дважды щелкните на свойстве Text категории Appearance. Visual Basic выделит текущее значение свойства Text. 4. Наберите текст, который должен отображаться на объекте. Изменить штифт и начертание отображаемого на объекте текста вы также може- те, воспользовавшись свойством Font (Шрифт) категории Appearance. 96 Часть Создание пользовательского интерфейса Глава 8 Использование текстовых полей и надписей Создание надписей и текстовых полей Настройка параметров отображения текста на огромные возможности графической составляющей пользовательского интерфейса, иногда кнопок, флажков и переключателей бывает недостаточно для поддержки нормального диалога с пользователем. Время от времени программе необходимо отобразить на экране слово, предложение, абзац, а то и целую новеллу. Нередко и у пользователя возни- кает желание набрать слово (а то и два) в адрес программы. Если вы хотите просто отобразить текст для пользователя, примените объект, именуемый Label (Надпись). Если вы хотите отобразить текст и позволить пользователю набрать что- нибудь в ответ, воспользуйтесь объектом TextBox (Текстовое поле). Таким образом, текстовые поля выполняют сразу две функции: I отображают текст на экране; | предоставляют пользователю возможность набрать текст для программы. Текстовое поле является одним из наиболее гибких объектов пользовательского интер- фейса, поскольку позволяет получить от пользователя почти любую информацию (текстовую и числовую). Если текстовых полей в вашей программе будет достаточно много, то не ис- ключено даже, что вы повысите общий уровень грамотности наших сограждан. Создание и полей В повседневной жизни нас окружает множество надписей, таких как номера на дверях квартир, названия на обложках журналов, цифры и буквы на номерах автомобилей. Очень часто надписи привлекают наше внимание к тому, чего бы мы, не будь их, и не заметили. Текстовые поля хоть и могут отображать текст, используются они в основном для предос- тавления пользователю возможности вводить какие-то данные для программы, например свое имя, пароль или телефонный номер. Часто надписи применяются вместе с текстовыми полями с целью сообщить пользователю, какого рода информацию он должен набрать в текстовом поле. И надписи, и текстовые поля могут отображать текст на экране. Основное различие между ними состоит в том, что внести изменения в текст текстового поля пользо- ватель может, а в текст надписи — нет. Чтобы создать надпись или текстовое поле, необходимо выполнить такие действия. 1. Выберите команду или нажмите комбинацию клавиш на экране.) Глава 8. Использование текстовых полей и надписей 97 На экране появится панель Toolbox. Возможно, вам придется щелкнуть на кнопке Windows Forms, чтобы найти инструменты Label (Надпись) и TextBox (Текстовое поле). 2. Щелкните на кнопке Label или TextBox. Курсор мыши примет вид перекрестия. Если вы дважды щелкнете на инструменте Label или TextBox, Visual Basic автоматически создаст соответствующий объект в окне формы. Потом вы переместить его в нужное место и при- дать ему необходимые размеры. 3. Поместите курсор мыши над тем местом, где должен быть нарисован объект, нажмите левую кнопку мыши и перетяните курсор. Когда контур объекта примет нужные размеры, кнопку мыши. Visual Basic создаст надпись или текстовое поле (в зависимости от того, на кнопке какого инструмента вы щелкнули) в окне формы. 4. Откройте окно Properties. Чтобы сделать это, нажмите клавишу Window, в окне Solution Explorer щелкните на значке Properties Window или щелкните правой кнопкой мыши в формы и выберите команду Properties. 5. Дважды щелкните на свойстве Text (категория Appearance) и наберите текст, который должен отображаться внутри текстового поля или надписи. Почти во всех случаях для текстового поля лучше удалить значение свойства Text, чтобы на экране оно отображалось пустым и готовым для набора пользова- телем своего текста. Для того чтобы текст отображался каким-то особым образом, используйте свойст- во Font (Шрифт), принадлежащее к категории Appearance. Вам не нужно писать коды чтобы сделать надпись и текстовое поле рабо- чими. Однако код BASIC нужно будет написать для считывания данных, сохранен- ных в качестве значения свойства Text, — таким образом программа узнает, какую информацию оставил для нее пользователь. О том, как это делается, подробно рас- сказывается в главе 16. Изменение внешнего вида отображаемого текста Чтобы текст выглядел как-то по-особенному, можно изменить шрифт, его размер либо способ начертания (полужирный или курсив). Делается это так. 1. Щелкните на надписи или текстовом поле, способ отображения текста кото- рого вы хотите изменить. 2. Откройте окно Properties. Чтобы сделать это, нажмите клавишу Window в окне Solution Explorer щелкните на значке Properties Window или щелкните правой кнопкой мыши в окне формы и выберите команду Properties. 3. Щелкните на свойстве Font (категория Appearance). Рядом с ним появится кнопка с тремя точками. 4. Щелкните на кнопке с тремя точками. На экране появится диалоговое окно Font. 98 Часть //. Создание пользовательского интерфейса Чтобы 1 2. 5. Установите шрифт, его способ начертания, задайте нужные эф- фекты Strikeout (Зачеркивание)), а когда закончите, щелкните на кнопке ОК. Тексты надписей и текстовых полей одновременно могут отображаться лишь од- ним шрифтом, с одним стилем и одним размером. Если вам вдруг захочется ото- бразить текст одного объекта разными шрифтами, выбросите эту идею из голо- вы — у вас все равно ничего не получится. Раскрашивание текста надписей и текстовых полей Если вы любили в детстве писать слова на разноцветными то вам по- нравится идея изменения цветов при отображении текста объектов Visual Basic Обычно Visual Basic отображает черный текст на белом (для текстовых полей) или на сером (для надписей) фоне. Для того чтобы "картинка можно изменить как цвет текста, так v цвет фона. Цвет, которым заполняется область надписи или текстового поля (цвет фона), оп- свойством Цвет, которым отображается сам текст, ляется свойством ForeColor. Оба свойства относятся к категории Appearance. цвет фона или цвет текста, сделайте следующее. Щелкните на надписи или текстовом поле, цвет которого вы хотите изменить. Откройте окно Properties. Чтобы сделать это, нажмите клавишу выберите команду Window, в окне Solution Explorer щелкните на значке Properties Window или щелкните правой кнопкой мыши в окне формы и выберите команду Properties. Щелкните на свойстве BackColor или ForeColor (категория Appearance). Рядом с ним появится кнопка с направленной вниз стрелкой. Щелкните на кнопке с направленной вниз Откроется диалоговое окно с тремя вкладками: Custom, Web и System. Щелкните на нужной вкладке и выберите подходящий цвет. Visual Basic примет внесенные изменения и отобразит цветной текст. Изменив цвет отображения текста, вы можете выделить определенную информа- цию, чтобы обратить на нее внимание пользователя (или, наоборот, сделать ее ма- лозаметной). Однако помните, что слишком большая цветовая гамма может произ- вести плохое впечатление, а кроме того, некоторые люди могут быть цветоанома- или дальтониками. Это означает, что какие-то цвета и оттенки они различают п.гохо или вовсе не различают, а потому часть текста могут просто не заметить. Поэтому применять одновременно различные цвета нужно очень осторожно. Настройка отображения границ Обычно объект Label (Надпись) отображает текст, но не отображает каких бы то ни было границ. Границы объекта TextBox (Текстовое иоле) видны на экране, но особой оригиналь- ностью они не отличаются. Конечно же, это не единственно возможный вариант, и вы без труда можете изменить способ отображения границ на экране. 5 Глава 8. Использование текстовых полей и надписей 99 1. Щелкните на текстовом поле или надписи, границы которых хотите изменить. 2. Откройте окно Properties. Чтобы сделать это, нажмите клавишу Window, в окне Solution Explorer щелкните на значке Properties Window или щелкните правой кнопкой мыши в окне формы и выберите команду Properties. 3. Щелкните на свойстве BorderStyle (Тип границы), относящемся к категории Appearance, и выберите один трех пунктов: None (устанавливается по умолчанию для надписей); • • Fixed3D (устанавливается по умолчанию для текстовых полей). Выравнивание текста относительно границ объекта Visual Basic может выравнивать текст надписей по горизонтали и по вертикали, а текстовых только по горизонтали. Пользователь не сможет определить, как выровнен текст, если на не ото- бражаются границы объекта. Вот что нужно сделать, чтобы выровнять текст. 1. Щелкните на надписи или текстовом поле, текст которого нужно выровнять. 2. Откройте окно Properties. Чтобы сделать это, нажмите клавишу Window, в окне Solution Explorer щелкните на значке Properties Window или щелкните правой кнопкой мыши в окне формы и выберите команду Properties. 3. Щелкните на свойстве (Выравнивание текста) категории Appear- ance и выберите одну из следующих опций. В случае текстового поля: • Left (Слева); • Right (Справа); • C e n t e r (По центру). В случае надписи: • Top (Слева вверху, устанавливается по умолчанию); • Top Right (Справа вверху); • Top C e n t e r (По центру вверху); • Middle (Слева посередине); • Middle Right (Справа посередине); • Middle C e n t e r (В центре посередине); • Left внизу); • Bottom Right (Справа внизу); • C e n t e r (По внизу). 00 Часть Создание пользовательского интерфейса полей Текстовые поля со свойствами, установленными по умолчанию, могут быть не очень удобными в использовании. Если вы набираете слишком много текста, он будет и набранный ранее текст уйдет из поля зрения. Для управления курсором внутри текстового поля используются обычные в таких случаях клавиши. | Клавиша возврата. Удаляет символ слева от курсора. f Стрелка влево. Перемещает курсор на один символ влево. i Стрелка вправо. Перемещает курсор на один символ вправо. | влево. Перемещает курсор на одно слово влево. вправо. Перемещает курсор на одно слово вправо. 1 |