Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 11.01.2019
Сообщений: 48
1

Ошибка в обработке кода при использовании async/await

02.08.2020, 02:23. Просмотров 824. Ответов 4
Метки нет (Все метки)

Доброго времени суток,
Пишу программу на C# Windows Forms, цель всего одна - с определенной периодичностью перемещать курсор по определенным координатам и воспроизводить нажатие ЛКМ, по моей логике все должно было работать благодаря тому что между каждым перемещением и кликом я ставил Thread.Sleep(500), но после того как на середине выполнения программа переставала отвечать я узнал про прекрасный метод async/await. Заменил код, запускаю и после этого я вообще уже не смог разобрать по какой причине программа работает следующим образом - первые несколько перемещений и кликов правильны, а дальше начинается хаос - курсор начинает летать меж, заданными мной в определенном порядке, координатам абсолютно в случайном порядке, а главное без конца, хотя цикл конечный. Помогите разобраться пожалуйста! Архив с проектом Visual Studio прикрепляю ниже.
0
Вложения
Тип файла: rar WindowsFormsApp3.rar (170.6 Кб, 3 просмотров)
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.08.2020, 02:23
Ответы с готовыми решениями:

Проблемы с конструкцией async\await при использовании WPF или Windows Forms
Добрый день! Написал библиотечку, использующую, в том числе конструкции async-await. Всё...

Объяснить работу кода с async/await
Помогите пожалуйста разобраться с этой темой. Имеется такой код: static void Main(string args) ...

Async/ await как правильно ввести данные в async метод (консоль)
Привет , кто то может помочь ?) проблема в тому что у меня есть async метод который запускается...

Async/await при работе с бд
Здравствуйте, вопрос в следующем. Допустим есть особая операция с базой данных, для которой нет...

4
4007 / 2877 / 1256
Регистрация: 09.05.2015
Сообщений: 7,048
02.08.2020, 02:34 2
Цитата Сообщение от Алексей_КЛНН Посмотреть сообщение
Заменил код, запускаю и после этого я вообще уже не смог разобрать по какой причине программа работает следующим образом - первые несколько перемещений и кликов правильны, а дальше начинается хаос - курсор начинает летать меж, заданными мной в определенном порядке, координатам абсолютно в случайном порядке, а главное без конца, хотя цикл конечный.
Где у вас тут конечный цикл? Цикла вообще нет никакого...
А работает так потому, что весь код в обработчике таймера выполняется каждый тик таймера (у вас каждую секунду), не зависимо от того, выполнился ли код в предыдущем тике таймера...
0
0 / 0 / 0
Регистрация: 11.01.2019
Сообщений: 48
02.08.2020, 02:40  [ТС] 3
Someone007, но я хотел чтобы каждый тик таймера заканчивался и с интервалом указанным в обработчике начинался снова, как же это сделать тогда?
0
4007 / 2877 / 1256
Регистрация: 09.05.2015
Сообщений: 7,048
02.08.2020, 02:45 4
Лучший ответ Сообщение было отмечено Алексей_КЛНН как решение

Решение

Увеличьте интервал таймера чтобы код в его обработчике успевал отработать. Зачем вам 1 секунда, если у вас там код выполняется намного дольше?
0
0 / 0 / 0
Регистрация: 11.01.2019
Сообщений: 48
02.08.2020, 02:48  [ТС] 5
Someone007, спасибо большое за указание на ошибку, как посмотрел на нее сразу до того же додумался)
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.08.2020, 02:48

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

Ошибка чтения async/await в read.ReadAsync()
Добрый день, уважаемые форумчане! Осваиваю async/await в WinForms, однако никак не могу понять,...

Синхронное выполнение кода (Async/await)
Данный код возвращает результат вида: 1 3 4 2 Как мне получить такой результат используя...

Ошибка при использовании std::async
Всем привет! Имеется класс с методом, которых принимает и возвращает вектор. Необходимо запустить...

Не работает async/await при обращении в базу по событию TabControl
Не получается разобраться в ситуации, как и нагуглить ответ. Вобщем есть TabControl по...

Виснет ui при использовании await
Использую mvvm. Есть vm, в ней есть свойство Products (коллекция observable), к ней прибинден...

При использовании кода в модуле ошибка при открытии файла
есть такой простенький код, которій отлично работает в скрипте *.pl use Cwd; my $cwd =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.