Visual Basic .NET для чайников - У. Вонг. Visual Basic .NET для чайников - У. Диалектикамосква СанктПетербург Киев
Скачать 7.1 Mb.
|
Глава 9. Использование списков и полей со списком 111 Все хорошо в меру. Однако новички часто настолько увлекаются изменением шрифтов и используют их в таком количестве, что это переходит все разумные пределы. Если у вас нет действительно уважительной причины для изменения шрифтов, начертания, размера текста, оставьте установки, используемые Visual Basic по умолчанию. Чем более примечательным вы сделаете свой список или поле со списком, тем быстрее пользователь обратит на него внимание. Однако помните, что вы создаете удобную для поль- зователей программу, а не шедевр живописного искусства. Если вам хочется творить пре- красное, возьмите мольберт и выйдите на природу. Если же вы хотите создать полезную про- грамму и заработать на этом миллион долларов, сделайте ее простой, понятной и удобной в использовании. Часть //. Создание пользовательского интерфейса Глава 10 Настройка отображения пользовательского интерфейса Установка одинаковых размеров для нескольких объектов Выравнивание объектов Установка одинаковых интервалов между объектами Фиксирование положения объектов осле того как вы создали форму и разместили в ней некоторое количество объектов (например, кнопки, текстовые поля, переключатели), можете упорядочить их ото- бражение, использовав следующие возможности Visual Basic придавать сразу нескольким объектам одинаковые размеры; | выравнивать объекты относительно друг друга; размешать объекты на одинаковом расстоянии друг от друга; фиксировать текущие позиции и размеры объектов. одинаковых нескольких Если вы некоторое количество подобных объектов, например группу флажков, переключателей или кнопок, и хотите, чтобы все они имели одинаковые размеры, поручите эту работу Visual Basic Он сделает это все автоматически. От вас лишь потребуется выполнить следующие действия. 1. Щелкните на первом объекте, должен стать такого же размера, как и другие объекты. 2. Удерживая нажатой клавишу поочередно выполните щелчки на всех остальных объектах, которые должны иметь одинаковые размеры. Visual Basic выделит все указанные вами объекты. 3. Щелкните на объекте, размеры которого послужат образном для всех ос- тальных, выделенных на первом и втором шаге, Объект, который послужит образцом для других, должен быть выделен послед- ним. В таком случае его размеры останутся прежними, а все остальные объекты примут его параметры. 4. Задайте команду Same Size размер), а затем выберите одну из следующих опций: • Width (Ширина) — ширина всех объектов станет одинаковой; Глава 10. Настройка отображения пользовательского интерфейса • Size to Grid (Размер сетке)— размеры всех объектов будут выровнены по линиям сетки, отображаемым в окне формы; • i g h t (Высота) — высота всех объектов станет одинаковой; • Both (Оба параметра) — высота и ширина всех объектов станут одинаковыми. Как только вы выберете одну из этих опций, размеры выделенных объектов сразу же будут изменены. Если вам вдруг не понравятся проведенные преобразования, отмените их нажатием комбинации клавиш Большое количество произвольно расположенных элементов может создавать впечатле- ние хаоса, царящего в окне формы. Чтобы сделать общую картину более приглядной, выров- няйте объекты одним из следующих способов (рис. 10.1). Рис. 10.1. Различные способы выравнивания объектов (По левому краю) местоположение всех объектов выравнивается по ле- вому краю; C e n t e r s (По центру) — через середину каждого объекта проходит условная вер- тикальная линия; R i g h t s (По правому краю) — местоположение всех объектов выравнивается по правому краю; Tops (По верхнему краю) — местоположение всех объектов выравнивается по их верхнему краю; Middles (По середине) —- средины каждого объекта выравнивается вдоль гори- зонтальной линии; Bottoms (По нижнему краю) — местоположение всех объектов выравнивается по их нижнему краю; Часть II. Создание пользовательского интерфейса Grid (По линиям сетки) — все объекты выравниваются по линиям сетки, ото- бражаемым а окне формы. Вы можете интервалы между линиями сетки, щелкнув в окне формы (но не на каком-либо ее объекте). Откроется окно Properties, где в категории Design вы можете изменить значения свойств GridSize Width (Ширина сетки) и GridSize Height (Высота сетки). Чем больше значение вы зададите, тем большее расстояние будет между линиями сетки. При необходимости выровнять несколько объектов, выполните следующие действия. 1. Удерживая нажатой клавишу Visual Basic выделит каждый выбранный вами объект. 2. Щелкните на объекте, положение которого должно быть ориентиром для всех остальных объектов. Объект, выделенный последним, останется на месте, а все остальные будут вы- ровнены с учетом его положения. 3. Активизируйте команду Align Вы ровнять), а затем выбе- рите одну из доступных опций, например или Middles. Visual Basic выровняет выделенные вами объекты по указанному объекту. Вы всегда можете отменить внесенные изменения, нажав комбинацию клавиш или щелкнув на кнопке Undo (Отменить) стандартной панели инструментов. Упорядочить местоположение объектов в окне формы можно также путем определения точного расстояния между ними. Вот как это делается. 1. Удерживая нажатой клавишу всех объектах, местоположение которых вы хотите выровнять, определив расстояние между ними. Visual Basic выделит все указанные вами объекты. 2. Щелкните объекте, с учетом месторасположения которого должны быть выровнены выделенные объекты. Объект, выделенный последним, останется на своем месте, в то время как все другие объекты будут перемещены. 3. Задайте команду Spacing Горизонтальное расстояние/Вертикальное расстояние), а затем выберите один из следующих вариантов. • Make Equal (Сделать равным)— объекты размещаются таким образом, что вер- тикальные или горизонтальные промежутки между ними становятся одинаковыми; • (Увеличить)— все выделенные объекты перемещаются в сторону от объекта, выделенного на шаге 2; Глава 10. Настройка отображения пользовательского интерфейса • D e c r e a s e все выделенные объекты размещаются притык к объекту, выделенному на шаге 2; • Remove (Передвинуть) —- Все выделенные объекты размещаются впритык друг к другу. Если вам не понравятся выполненные Visual Basic перемещения объектов, отмените их, нажав комбинацию клавиш или щелкнув на кнопке (Отменить) стандартной панели инструментов. Тест на проверку полученных вами знаний Зачем нужно выравнивать объекты? а. Чтобы у пользователей глаза не разбега- лись в разные стороны. б. Это позволит создать ужасный и беспоря- дочный пользовательский интерфейс. в. Таким образом можно создать аккурат- ный и упорядоченный интерфейс. Минуточку, я, кажется, уже выбрал ва- риант в. 2. Когда вы выделяете группу объектов, желая их выровнять или изменить их размеры, какой из объектов Visual в любом случае оста- вит без а. Тот, который был выделен последним. б. Тот, которой "ровнее" всех остальных. в. Это непредсказуемо. Как Visual решит, и будет. Обычно Visual Basic меняет все объекты, причем до неузнаваемости. Иногда, чтобы придать интерфейсу более эстетический вид, целесообразно разместить один или несколько объектов точно по центру формы. К счастью, вам необязательно делать вручную, Visual Basic может сам выровнять объекты как по горизонтали, так и по вертикали. Чтобы выровнять объекты по центру, сделайте следующее. 1. Щелкните на одном или нескольких объектах, которые должны быть вы- ровнены. Чтобы выделить сразу несколько объектов, поочередно щелкайте на них, удержи- вая нажатой клавишу Выберите команду in центру формы), а затем сделайте установку Horizontally или Vertically, а возможно, и обе сразу. Visual Basic разместит выделенные объекты точно по центру формы. положения Когда вы фиксируете положение объектов, вы как бы приклеиваете их к определенному месту в окне формы, с тем чтобы в дальнейшем никто другой не мог случайно или намеренно переместить их в другое место. Этот прием особенно полезен в том случае, когда над созда- нием программы работают сразу несколько программистов. Если один из них зафиксирует положения объектов, другие уже не смогут просто так испортить его работу. Часть II. Создание пользовательского интерфейса Зафиксированные объекты нельзя переместить на другое место, но их по-прежнему можно удалить, можно изменить любые их свойства. Фиксирование положения всех объектов в окне формы Для того чтобы зафиксировать положение и размеры всех объектов, созданных в какой-то форме, необходимо выполнить такие действия. 1. Щелкните в окне формы на любом объекте (например, на текстовом поле), 2. Выберите команду Controls Visual Basic зафиксирует положение всех объектов, принадлежащих этой форме. Теперь, если вы щелкнете на каком-нибудь из таких объектов, Visual Basic отобра- зит вокруг белые границы 10.2), и это будет означать, что положение объекта за- фиксировано и его нельзя перемешать или изменять его размеры. objects on a -. " ' ten , Рис. 10.2. При выделении в окне формы зафиксированных объектов вокруг таковых отображаются белые границы Чтобы снять фиксацию со всех объектов, еше раз выберите команду Lock Controls. Фиксирование положения отдельных объектов Далеко не всегда возникает необходимость в фиксировании положения сразу всех объектов в окне формы. Вы можете зафиксировать положение лишь одного или нескольких объектов, с тем чтобы оставить за собой возможность перемещать и изменять размеры всех остальных объ- ектов. Вот что нужно сделать, чтобы зафиксировать положение только одного объекта. 1. Щелкните на объекте, положение которого вы хотите зафиксировать. 2. Откройте окно Properties. Чтобы сделать это, нажмите клавишу Window, в окне Solution Explorer щелкните на значке Properties Window или щелкните правой кнопкой мышки в окне формы и выберите команду Properties. Глава 10. Настройка отображения пользовательского интерфейса 117 3. Щелкните на свойстве Locked (Зафиксировать) категории Design. Рядом с ним появится кнопка с направленной вниз стрелкой. 4. Щелкните на кнопке со стрелкой и выберите значение True (Истина). Теперь при выделении этого объекта вокруг него будут отображаться белые гра- ницы, информирующие о том, что объект зафиксирован. Чтобы разблокировать данный объект, повторите все те же действия, только вме- сто значения True выберите значение F a l s e . Часть II. Создание пользовательского интерфейса Часть III Создание меню меню являются прекрасным средством для орга- низации доступа ко всем опциям, предлагаемым программой. Пользователю, чтобы заставить программу что-то сделать, нужно будет просто выбрать соответствующую команду из меню. Эта часть книги посвящена описанию процесса разработки раскры- вающихся меню для ваших программ. Очень скоро вы сможете убедиться, что в этом нет ничего сложного. (Настоящие трудности могут возникнуть приступите к разработке той час- ти программы, которая отвечает за выполнение реальных действий и получение конкретных результатов. На этом этапе часто "спотыкаются" даже самые опытные программисты.) Глава Разработка раскрывающихся меню Создание меню Назначение имен Настройка меню меню позволяют разбивать по группам и компактно отображать на- боры команд, выполняющих подобные действия. Благодаря этому вам не нужно бу- дет засорять пользовательский интерфейс лишними наборами кнопок, флажков, переключа- телей, дополнительными панелями инструментов и т.д. Основные меню В заголовках меню большинства программ наиболее часто встречаются такие названия, как File, Edit, Window и Help. Меню File (Файл) обычно содержит команды, имеющие прямое отношение к операциям с файлами (рис. В число таковых входят операции открытия, закрытия, сохранения, пе- чать файлов; здесь же находится и команда выхода из программы, позволяющая оторваться от компьютера и пойти чего-нибудь перекусить. Меню Edit (Правка), как правило, объединяет команды, относящиеся к процессу редакти- рования, например такие, как Undo (Отменить), Redo (Повторить), Cut (Вырезать), (Копировать), Paste (Вставить), Clear (Очистить) и Select All (Выделить все). Меню Window (Окно) обычно содержит команды, касающиеся открытия, закрытия, вы- равнивания окон, а также команды переключения между разными окнами. Заголовок меню Команды меню with Menus Hew Save As Print Preview Jam Printer • . . 11.1. Пример раскрывающегося меню, созданного с помощью Visual Basic Глава Разработка раскрывающихся меню 121 Меню Window присутствует только в тех программах, которые позволяют откры- вать сразу несколько окон (в частности, в текстовых процессорах). Если же про- грамма работает лишь с одним окном, в меню Window просто нет необходимости. В меню Help (Справка) вы найдете команды, с помощью которых можно получить спра- вочную информацию о самой программе. Обычно заголовки меню File и Edit расположены рядом друг с другом, а заголовки меню с командами, которые вы вряд ли найдете в других программах, расположены между заго- ловками меню Edit и Window. Например, в большинстве текстовых процессоров есть меню Tools (Сервис), где собраны команды наподобие Тезаурус, Расстановка переносов, Макрос и некоторые другие, о которых 99 процентов населения планеты не имеют ни ма- лейшего представления. Если вы создаете меню, заголовки которых вряд ли можно встретить в интерфей- сах других программ (иными словами, если это не Edit, Window и не какие-либо другие общеизвестные заголовки меню), постарайтесь сделать так, чтобы ваши за- головки были максимально информативны и чтобы пользователи хотя бы прибли- зительно представляли, какие команды они смогут найти в этом меню. Создание меню Чтобы создать раскрывающееся меню, сделайте следующее. 1. Щелкните на форме, в окне которой должно быть создано раскрывающееся меню. 2. На панели ToolBox дважды щелкните на кнопке инструмента (Главное меню). Visual Basic создаст в окне формы пустое меню и отобразит в нижней части экрана отдельное окно со значком (рис. 3. В окне формы щелкните в поле, где отображаются слова (Наберите здесь) и введите название заголовка меню, например F i l e или Формат. Visual Basic отобразит введенный вами текст как заголовок меню или как название команды меню, и создаст рядом еще одно поле для ввода нового заголовка меню или команды меню. 4. Повторите шаг 3 столько раз, сколько заголовков и команд меню вы хотите создать. Чтобы иметь возможность получить доступ к меню посредством нажатия "горячей кла- виши", перед буквой, которая должна быть наберите символ &. Например, чтобы создать типичное меню File (с подчеркнутой буквой! 7 ), наберите Если вы щелкнете на команде созданного вами раскрывающегося меню, ничего не произойдет, поскольку вы еще не написали коды BASIC, объясняющие программе, что нужно делать при выборе какой-либо команды меню. 122 Часть ///. Создание меню Microsoft Visual 8asic.NET - guild fflindnw False В 1 [Нате] Menullemi Visible False False False 0 Add False None True True 11.2. Вот как выглядит только что созданное открывающееся меню Добавление и удаление заголовков меню и команд меню К созданному набору раскрывающихся меню со временем вам, возможно, потребуется добавить еще парочку пунктов или, наоборот, что-нибудь удалить. В первом случае ваши действия должны быть таковыми. 1. Откройте форму, содержащую меню, которые вы хотите отредактировать. 2. Щелкните на нужном раскрывающемся меню. Если вы щелкнете на заголовке меню, Visual Basic откроет само меню. 3. Далее выберите одно из двух действий в зависимости от того, что вы наме- рены сделать. • Чтобы добавить новый заголовок меню, щелкните на уже созданном заголовке. Visual Basic разместит новый заголовок меню слева от заголовка, на ко- тором вы щелкнули. • Чтобы создать новую команду меню, щелкните на уже существующей команде. Новая команда будет размещена над командой, на которой вы щелкнули. 4. Нажмите клавишу Visual Basic вставит в строку меню новый заголовок меню или новую ко- манду в раскрывающееся Чтобы удалить заголовок меню или команду меню, сделайте следующее. 1. Откройте форму, содержащую меню, которое вы хотите отредактировать. 2. Щелкните на нужном раскрывающемся меню. Глава 11. Разработка раскрывающихся меню 123 Если вы щелкнете на заголовке меню, Visual Basic откроет само меню. 3. Нажмите клавишу Если выбранный вами элемент содержит в себе команды меню, на экране появится диалоговое окно с вопросом, действительно ли вы хотите удалить этот элемент. 4. Щелкните на кнопке Yes. Когда вы удаляете заголовок меню или команду меню, все коды BASIC, которые были написаны для этого элемента, остаются в тексте программы, поэтому их тоже нужно найти и удалить. Перемещение заголовков и команд меню Вместо того чтобы раскрывающиеся меню и их команды, иногда разумнее просто переместить их в другое место. Вот как это делается. 1. Откройте форму, содержащую раскрывающиеся меню, которые нужно отре- дактировать. 2. Далее выберите один из двух следующих вариантов действий. • Щелкните на заголовке меню, которое вы хотите переместить. Когда вы пере- мещаете заголовок все присоединенные к нему команды перемещаются вместе с ним. • на заголовке меню, в котором содержится команда, которую вы хо- тите переместить. Затем щелкните на самой команде. 3. Нажмите левую кнопку мыши и перетащите заголовок или команду меню на новую позицию. Заголовок меню можно переместить таким образом, чтобы он сам стал командой в другом раскрывающемся меню. 4. Отпустите левую кнопку мыши, когда заголовок или команда меню достиг- нут нужной меню имен Всем заголовкам и командам меню необходимо присвоить имена, с тем чтобы в дальней- шем их можно было идентифицировать. Имена не должны содержать пробелов и знаков пунктуации. Хорошей практикой является использование в названиях заголовков и команд меню пре- фиксов например: Для Visual Basic нет никакой разницы, состоит имя из заглавных букв или из пропис- ных. Если вам это действительно необходимо, можете использовать и имена таких: • Правда, подобные имена не просто трудны для они могут создать вам репута- цию неграмотного или несерьезного человека. Поэтому не создавайте себе лишних проблем и придерживайтесь наработанных общих стандартов. Часть Создание меню Чтобы легче было идентифицировать команду, расположенную под каким-то заго- ловком меню, включите в имя этой команды название заголовка. Например, если меню File название присвойте командам Open, Save, Exit этого меню имена Для того чтобы присвоить имя заголовку или команде меню, необходимо сделать следующее. 1. Откройте форму, содержащую раскрывающиеся меню, которые нужно отре- дактировать. 2. Далее выберите один из следующих вариантов. • Щелкните на заголовке меню, которому вы хотите присвоить имя. • Щелкните на заголовке меню, содержащем команду, которой вы хотите дать имя. Затем на самой команде. Visual Basic выделит выбранный вами элемент. 3. Откройте окно Properties. Чтобы сделать это, нажмите клавишу Properties Window, в окне Solution Explorer щелкните на кнопке Properties Window или щелкните правой кнопкой мыши в окне формы и выберите команду Properties. 4. Дважды щелкните на свойстве Name (Имя) категории Design. Visual Basic выделит текущее значение этого свойства. 5. Наберите новое имя для заголовка или команды меню. меню Существует несколько приемов, способных сделать меню более удобными в использова- нии. Так, с помощью разделительных линий команды одного меню можно разбить на отдель- ные группы, можно отображать напротив активных в данный момент команд флажки, назна- чать командам комбинации клавиш для быстрого доступа, выделять серым или убирать с эк- рана недоступные на данный момент команды. Добавление в меню разделительных линий Разделительные линии визуально делят команды раскрывающегося меню на отдельные группы (рис. Если в такие группы объединены команды, выполняющие аналогичные действия, это облегчает пользователям поиск и выбор нужных на данный момент команд. Вот как можно добавить в меню разделительную линию, сделайте следующее. 1. Откройте форму, содержащую раскрывающиеся меню, которые нужно отре- дактировать. 2. Щелкните на заголовке меню, к которому вы хотите добавить разделитель- ную Visual Basic откроет выбранное вами меню. 3. Щелкните на команде, над которой должна располагаться разделительная 4. Visual Basic отобразит пустое поле прямо над выбранной вами командой меню. 5. Щелкните в пустом поле и наберите тире {-). Visual Basic в качестве команды меню отобразит тире. В следующий раз, когда вы запустите свою программу, тире волшебным образом превратится в раз- делительную |