Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

как приостановить выполнение события?

3.2K
25 марта 2005 года
MasterKlass
47 / / 06.03.2005
проблема вот в чём.
нужно так:
допустим есть событие клик.
появляется (show) новая форма. в ней заполняются несколько тестбоксов. форма убирается (hide).
далее выполняются некоторые действия, с данными из убравшейся формы.

а в результате сразу выполняются действия...

Код:
Private Sub mnuLine_Click()
  line_points.Show
  Me.Enabled = False
  x1# = Val(line_points.Text1.Text)
  y1# = Val(line_points.Text2.Text)
  x2# = Val(line_points.Text3.Text)
  y2# = Val(line_points.Text4.Text)
  If alg.O1.Value = True Then
    line_cda x1, y1, x2, y2
  End If
End Sub


ну вот собственно код.
в результате появляется форма, а событие клик продолжается..., то есть не успеваю заполнить текстбоксы =))
405
25 марта 2005 года
Dmitrii
554 / / 16.12.2004
Цитата:
Originally posted by MasterKlass
проблема вот в чём.
нужно так:
допустим есть событие клик.
появляется (show) новая форма. в ней заполняются несколько тестбоксов. форма убирается (hide).
далее выполняются некоторые действия, с данными из убравшейся формы.

а в результате сразу выполняются действия...

Код:
Private Sub mnuLine_Click()
  line_points.Show
  Me.Enabled = False
  x1# = Val(line_points.Text1.Text)
  y1# = Val(line_points.Text2.Text)
  x2# = Val(line_points.Text3.Text)
  y2# = Val(line_points.Text4.Text)
  If alg.O1.Value = True Then
    line_cda x1, y1, x2, y2
  End If
End Sub


ну вот собственно код.
в результате появляется форма, а событие клик продолжается..., то есть не успеваю заполнить текстбоксы =))



Как-то не вполне понятно описана ситуация.
У меня сложилось такое представление о Вашей задаче:
1) Есть форма 1, которая вызывает форму 2.
2) Пользователь вручную заполняет в форме 2 некоторые поля.
3) Форма 2 скрывается.
4) Данные, введенные в поля формы 2, обрабатываются в форме 1, результаты обработки возвращаются в форму 2 (кстати, почему бы обработку не выполнять в форме 2).

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

5) Форма 2 показывается, работает, закрывается полностью.
6) Форма 1 продолжает работу дальше.

Сложность заключается в том, чтобы после скрывания формы 2 в форме 1 выполнялась только та часть кода, которая обрабатывает данные из формы 2, остальное должно быть временно пропущено.

Если все так, то можно предложить такой вариант:
1) Завести в качестве флажка глобальную переменную, например, логическую.
2) Присвоить ей любое значение до вызова формы 2 и не менять его до полного завершения работы формы 2.
3) В коде формы 1 ту часть, которую нужно пропускать до завершения работы формы 2, поместить внутрь условного оператора. В качестве условия выполнения этой части указать нужное значение флажка.

425
25 марта 2005 года
sq_deep
498 / / 18.02.2005
Не совсем понятно, что вы хотите... попробуйте вместо
line_points.Show
сделать
line_points.ShowDialog

Может быть, это то, что вам на самом деле надо.
3.2K
25 марта 2005 года
MasterKlass
47 / / 06.03.2005
спасибо.
посмотрю.

хотя скорее всего просто сделаю обработку данных во втрой форме...
а в первой просто буду показывать вторую.

извините за нелепый пост. ибо было поздно и очень спать хотелось. :)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог