Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Глава 19. Проекты из нескольких форм и модулейСодержание книги
Поиск на нашем сайте
Эта глава - последний бастион, который нужно взять перед штурмом крепости по имени "Объекты". Но она и сама по себе нужна и важна. Работа с несколькими формами Все проекты, которые мы до этого создавали, работали в одном окне. Окном этим служила форма, на которой мы и собирали проект. Однако, вы вполне можете создать проект, который работает в двух или нескольких окнах. Например, вы создали игру в шахматы. Игра идет, как обычно, в одном окне. Пока компьютер обдумывает свой ход, вы со скуки щелчком по кнопке в окне игры запускаете новое окно, которое предлагает вам поиграть в созданный вами же тетрис. Когда компьютер сделает ход, вы можете поставить тетрис на паузу и продолжить игру в шахматы. Эту игру тетрис вы создавали в том же самом проекте, но собирали ее на другой форме этого проекта.
Посмотрим, как создать в проекте еще одну форму и как наладить простейшее взаимодействие между двумя формами. Создадим новый проект. При этом, как обычно, будет создана форма Form1. Чтобы добавить в проект еще одну форму, нужно выбрать Project®Add Form®New®Form®Open. Откроется форма Form2, а при ней свое окно кода. Таким образом, вы видите, что Visual Basic предоставляет удобную возможность программировать все происходящее в новой форме в окне кода, принадлежащем именно этой форме. Поместим для удобства рядом, как это показано на рисунке, обе формы со своими окнами кода. Разместим на формах показанные элементы управления, а в окна кода запишем программный текст.
Запустим проект. Мы видим, как и положено, Form1, а вот Form2 не появляется. Чтобы она появилась, нужно выполнить оператор Form2.Show. Щелкнем по Command1 - форма Form2 появилась. Пощелкайте по кнопкам Command2 на обеих формах. Теперь посмотрите на содержимое процедур Command2_Click в обоих окнах кода. Вы видите, что первая строка обеих процедур красит своего хозяина, вторая - соседа. Таким образом, в каждом окне кода можно, как и обычно, писать операторы, приказывающие что-то сделать в форме-хозяине данного окна, а можно с таким же успехом писать операторы, приказывающие что-то сделать в любой другой форме проекта. Чтобы Visual Basic отличал первый случай от второго, во втором случае перед именем свойства, принадлежащего другой форме, нужно писать имя этой формы с точкой, в первом же случае - не обязательно. Не обязательно, но можно. Так, в левом окне вместо BackColor = vbBlue можно было бы написать Form1.BackColor = vbBlue или даже так - Me.BackColor = vbBlue. Слово Me является указанием на хозяина. Пощелкайте по кнопкам Command3 на обеих формах. Теперь посмотрите на содержимое процедур Command3_Click в обоих окнах кода. Вы видите, что первая строка обеих процедур выводит текст в текстовое окно Text2 своего хозяина, вторая - в текстовое окно Text1 соседа. Таким образом, соглашение из предыдущего абзаца об имени формы с точкой применимо не только к свойствам формы, но и к объектам, принадлежащим форме, и, как мы сейчас увидим, методам. 3-я строка обеих процедур при помощи методов cls и Print очищает от графики поверхность формы-хозяина и печатает на ней число (11 на левой, 22 на правой). Слово Me пришлось написать, чтобы Visual Basic не посчитал cls: меткой. 4-я строка обеих процедур очищает от графики поверхность формы-соседа и печатает на ней число (21 на левой, 12 на правой). Чуть позже вы увидите, что из одной формы можно обращаться не только к свойствам, объектам и методам, принадлежащим другой форме, но и к переменным, процедурам и другим элементам. Правило везде одно: Перед именем элемента, принадлежащего другой форме, нужно ставить имя формы-хозяина с точкой. Модули кода Пусть вы создали проект из двух форм: в одной игра в шахматы, в другой игра в тетрис. Каждая из форм при запуске проекта довольно долго загружается. Поэтому вы хотите, чтобы перед загрузкой форм компьютер спросил у вас, какую форму нужно загружать. Но мы привыкли, что при запуске проекта на экране какая-нибудь форма появляется обязательно и первым делом. Мы можем изменить этот порядок и сделать так, чтобы никакая форма не загружалась. Добавим в проект так называемый модуль кода (его еще называют программным или стандартным или просто модулем): Project®Add Module®New®Module®Open. Вы видите, что в проект добавилось окно кода модуля Module1. А ничего похожего на форму не появилось. Ни формы, ни кнопок, ни меток, никаких других элементов управления в модуле кода нет и быть не может. Если форма без кода - тело без души, то модуль - душа без тела. Ну что ж, в предыдущем разделе мы научились вселять душу в чужое тело, значит и душа нашего модуля на что-нибудь сгодится. Проект можно настроить так, чтобы при запуске ни одна форма не загружалась, а выполнялась процедура со специальным названием Main, находящаяся в модуле кода. Запишем в окно кода нашего модуля четыре строки:
А вот как настраивать проект: Project ® Project1 Properties ® General ® Startup Object ® здесь Visual Basic предложит вам выбор, с чего начинать запуск проекта - с загрузки формы Form1, с загрузки формы Form2 или с выполнения процедуры Main. Вы, конечно, выбираете ®Sub Main®OK. Запустив этот проект, вы не видите никакой формы, вместо этого перед вами InputBox с приглашением ввести 1 или 2. Введя 1, вы тем самым загружаете Form1, а введя 2 - Form2. Термином модуль часто называют не только модуль кода, но и форму, и неизвестный пока нам модуль класса и некоторые другие сохраняемые в собственных файлах главные компоненты проекта. Я тоже буду так делать, когда это не будет вызывать путаницы. О другом, более часто встречающемся применении модуля кода см. в Глава 20.
|
||||
Последнее изменение этой страницы: 2016-08-12; просмотров: 211; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.226.165.234 (0.009 с.) |