Отменить загрузку формы в процедуре Form_Load()

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Алексей К.
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 12.05.2004 (Ср) 9:41
Откуда: Ульяновск

Отменить загрузку формы в процедуре Form_Load()

Сообщение Алексей К. » 14.06.2006 (Ср) 13:11

При опр. условиях (которые проверяются в теле Form_Load ) мне нужно отменить загрузку формы. Пишу unload me - зацикливается.
Или в теле данного события нельзя отменить?

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 14.06.2006 (Ср) 13:13

Err.Raise
Изображение

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 14.06.2006 (Ср) 13:17

Я использую unload me.

Зацикливание возникает исключительно когда ручками сделано.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Алексей К.
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 12.05.2004 (Ср) 9:41
Откуда: Ульяновск

Сообщение Алексей К. » 14.06.2006 (Ср) 13:19

Err.Raise

будет вылетать ошибка, что дальше? :shock:

Алексей К.
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 12.05.2004 (Ср) 9:41
Откуда: Ульяновск

Сообщение Алексей К. » 14.06.2006 (Ср) 13:21

Я использую unload me.

Зацикливание возникает исключительно когда ручками сделано.

А как сделать "не ручками"?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 14.06.2006 (Ср) 13:28

Как сделать зацикливание не ручками?
Не знаю, никогда не интересовался.

Правильный вопрос был бы "Как не сделать зацикливание", но его ты не задал.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Алексей К.
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 12.05.2004 (Ср) 9:41
Откуда: Ульяновск

Сообщение Алексей К. » 14.06.2006 (Ср) 13:33

Я использую unload me.

Зацикливание возникает исключительно когда ручками сделано.

Как правильно использовать unload me для отмены загрузки формы и избежания зацикливания ?

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 14.06.2006 (Ср) 13:40

гм. Вот так -- вроде бы работает.
Код: Выделить всё
Private Sub Form_DblClick()
On Error Resume Next
Dim f As New Form1
f.Show
End Sub

Private Sub Form_Load()
If Form1 Is Me Then Exit Sub
Unload Me
End Sub


А в чём проблема?

С Err.Raise -- действительно, о другом подумал.
Изображение

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 14.06.2006 (Ср) 13:49

Алексей К. писал(а):Как правильно использовать unload me для отмены загрузки формы и избежания зацикливания ?

Правильно - чтобы после unload me в потоке выполнения не было команд обращения к форме.
Другие строки кода при этом после unload me могут быть.
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Алексей К.
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 12.05.2004 (Ср) 9:41
Откуда: Ульяновск

Сообщение Алексей К. » 14.06.2006 (Ср) 13:55

Всем спасибо, разобрался.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot и гости: 14

    TopList  
cron