Консультация № 67829
20.12.2006, 13:07
0.00 руб.
0 2 2
Здраствуйте.

Поскажите как в VisualBasic 6 из одной формы вызывать другую с передачей ей параметров(допустим x,y).

Дайте ссылку где почитать про использование модулей, ну в смысле как их писать, как подключать.

Обсуждение

Неизвестный
21.12.2006, 09:55
общий
это ответ
Здравствуйте, Alxx!
Очень просто.
По кнопке на исходной Form1 делаете
Load.Form2
Теперь вторая форма уже загружена, но еще не отображена.
И с ее полями уже можно делать что угодно.

Private Sub CommandButton1_Click()
Load UserForm2
UserForm2.BackColor = vbGreen
UserForm2.Show
End Sub

Выводит новую форму с зеленым фоновым цветом.

Неизвестный
21.12.2006, 10:23
общий
это ответ
Здравствуйте, Alxx!

Из первой формы вызвать вторую можно либо в модальном режиме (первая будет недоступна пользователю, пока не закрыти вторая, хотя и видима), либо в немодальном. Причем здесь возможны 2 варианта.
1) Доступны одновременно обе формы:

Private sub Command1_click()
Form2.Show
End sub

2) Доступна только вторая (первая скрывается):

Private sub Command1_click()
Form2.Show
Form1.Hide ‘ только скрыть форму
или
unload Form1 ‘ выгрузить ее из памяти совсем
End sub

Открыть форму в модальном режиме:

Private sub Command1_click()
Form2.Show, vbModal
или
Form2.Show, 0
End sub

Расположить вторую форму в левом верхнем углу экрана:

Private sub Command1_click()
Form2.Top = 0
Form2.Left = 0
Form2.Show
End sub
Модуль не имеет видимых элементов управления и свойств - это просто код, который содержит, как правило, процедуры или функции, которые должны быть доступны из любого места программы (допустим, у вас 5 форм в программе и в любой из них можно вызвать эти функции). Добавить модуль можно как через проводник объектов программы (контекстное меню пр. клавиши мыши "Добавить" -- "Модуль" в той области, где отображаются все формы, справа от рабочей области), так и через меню или панель инструментов в верхней части экрана.
Форма ответа