Выполнение нескольких операций одновременно - VB

Узнай цену своей работы

Формулировка задачи:

Помогите, пожалуйста, часто с таким встречаюсь, а как устранить проблему, не знаю... Привожу пример программы. На форме располагаются две кнопки Command1 и Command2 и объект Image1. При нажатии Command1 объект начинает двигаться в соответствии с таймером:
Листинг программы
  1. Private Sub Command1_Click()
  2. Dim PauseTime, Start, Finish
  3. PauseTime = 0.01
  4. 1:
  5. Start = Timer
  6. Do While Timer < Start + PauseTime
  7. DoEvents
  8. Loop
  9. Finish = Timer
  10. Image1.Top = Image1.Top + 20
  11. goto 1:
  12. End Sub
Пользователю предоставляется возможность во время выполнения данного кода нажать кнопку Command2, которая запускает собственный таймер и через 5 секунд выводит сообщение.
Листинг программы
  1. Private Sub Command2_Click()
  2. Dim PauseTime, Start, Finish
  3. PauseTime = 5
  4. Start = Timer
  5. Do While Timer < Start + PauseTime
  6. DoEvents
  7. Loop
  8. Finish = Timer
  9. MsgBox "Сообщение"
  10. End Sub
Однако, при нажатии второй кнопки выполнение кода Command1 приостанавливается. Я пробовал совмещать оба кода в один, запрещая и разрешая выполнение его части с помощью переменной. Но так неудобно. Можно ли избежать такой приостановки каким-нибудь другим способом?

Решение задачи: «Выполнение нескольких операций одновременно»

textual
Листинг программы
  1. Private Sub Command1_Click()
  2. Timer1.Enabled = True
  3. End Sub
  4.  
  5. Private Sub Command2_Click()
  6. Timer2.Enabled = True
  7. End Sub
  8.  
  9. Private Sub Timer1_Timer()
  10. Image1.Top = Image1.Top + 20
  11. End Sub
  12.  
  13. Private Sub Timer2_Timer()
  14. MsgBox "Сообщение"
  15. Timer2.Enabled = False
  16. End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.25 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы