VB 2010 - остановить цикл с помощью кнопки - PullRequest
0 голосов
/ 05 ноября 2011

Я использую VB 2010, у меня есть цикл, который занимает около 5 минут, пока не закончится.Я хочу, чтобы пользователь мог остановить его в середине или когда он захочет.Есть кнопка, которая запускает цикл, и после того, как я нажму на него, цикл начнет работать, и кнопка будет как бы «застряла».Я видел что-то под названием «фоновая работа» в VB Toolbox, это может быть решением моей проблемы?

Ответы [ 2 ]

3 голосов
/ 05 ноября 2011

Запустите ваш цикл в отдельном потоке и установите флаг, который направляет действие цикла. Продолжайте опрашивать этот флаг, чтобы увидеть, хочет ли пользователь остановить поток внутри цикла в потоке. Смотрите BackgroundWorker

0 голосов
/ 07 ноября 2011

Я думаю, что фоновый рабочий будет работать, но очень простое решение, если создать логическую переменную (видимую в области видимости для вашей кнопки остановки и логического цикла), которая управляет остановкой внутри вашего цикла. Ваша кнопка останова установит для переменной значение true, и при следующем нажатии этого кода она будет остановлена. вам может понадобиться application.doevents внутри вашего цикла в конце, чтобы позволить событию кнопки срабатывать. Это не идеальный способ, но, конечно, просто.

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