0 / 0 / 0
Регистрация: 01.11.2013
Сообщений: 20

Как сделать паузу без подвисания и без вызова Sleep?

04.11.2016, 19:34. Показов 5367. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, как можно сделать паузу без "второго" потока и вешания программы посредством System.Threading.Thread.Sleep?

C#
1
2
3
4
5
6
7
8
dataGridView1.Rows[i].Cells[j].Style.BackColor = Color.Lime;
dataGridView1.Rows[i + 1].Cells[j].Style.BackColor = Color.Lime;
//Пауза
dataGridView1.Rows[i].Cells[j].Value = Convert.ToInt32(dataGridView1.Rows[i].Cells[j].Value) * 2;
dataGridView1.Rows[i + 1].Cells[j].Value = "";
dataGridView1.Rows[i + 1].Cells[j].Style.BackColor = Color.White;
//Пауза
dataGridView1.Rows[i].Cells[j].Style.BackColor = Color.White;
Пытался сделать через таймер, программа окончательно зависает, походу из цикла выйти не может.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
int ijk; //Голобально
...
dataGridView1.Rows[i].Cells[j].Style.BackColor = Color.Lime;
dataGridView1.Rows[i + 1].Cells[j].Style.BackColor = Color.Lime;
timer1.Start();
for (ijk = 0; ijk == 0; ) { }
timer1.Stop();
dataGridView1.Rows[i].Cells[j].Value = Convert.ToInt32(dataGridView1.Rows[i].Cells[j].Value) * 2;
dataGridView1.Rows[i + 1].Cells[j].Value = "";
dataGridView1.Rows[i + 1].Cells[j].Style.BackColor = Color.White;
timer1.Start();
for (ijk = 0; ijk == 0; ) { }
timer1.Stop();
dataGridView1.Rows[i].Cells[j].Style.BackColor = Color.White;
...
private void timer1_Tick(object sender, EventArgs e)
        {
            ijk++;
        }
timer1.Stop();
dataGridView1.Rows[i].Cells[j].Style.BackColor = Color.White;
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.11.2016, 19:34
Ответы с готовыми решениями:

Sleep(1000): Как сделать паузу и в тоже время иметь контроль над формой?
Как в Delphi сделать паузу и в тоже время иметь контроль над программой? Допустим, я ставлю в цикле функцию Sleep(1000); но в эти 1000...

Сделать паузу в работе программы без зависаний
Вы наверное помните, что у меня недавно не получалось считать из файла, и то, что я писал программу типа "сапера". Так вот я ж...

Как замедлить выполнение for без Sleep
Хаюши умные дядьки такая проблема надо замедлить выполнение int qwe=10, asd=0, zxc=500; for (int i=1; i<=10; i++) { ...

3
 Аватар для diadiavova
7254 / 2602 / 743
Регистрация: 11.04.2015
Сообщений: 4,137
Записей в блоге: 43
04.11.2016, 22:53
Цитата Сообщение от mnxamoto Посмотреть сообщение
как можно сделать паузу без "второго" потока и вешания программы посредством System.Threading.Thread.Sleep?
Почему именно "без". Наиболее простой способ - как раз-таки выполнить все в отдельном потоке и по мере надобности "усыплять" этот поток. Именно этот ("второй") поток, а не основной поток программы, который при этом подвешиваться не будет. Единственная неприятность - обращаться к гриду придется через инвоки.
С помощью таймера тоже можно реализовать но не так. Там решение в том, что действия упаковываются в задачи, задается время, когда задача должна быть выполнена, а сами задачи добавляются в очередь. В обработчике тиков таймера из очереди извлекаются те задачи, которые к данному моменту должны быть выполнены и выполняются. Это реализовать сложнее и смысла особого в данном случае в этом нет.
0
Эксперт .NET
6525 / 4101 / 1606
Регистрация: 09.05.2015
Сообщений: 9,564
04.11.2016, 22:55
Лучший ответ Сообщение было отмечено mnxamoto как решение

Решение

C#
1
await Task.Delay(x);
1
0 / 0 / 0
Регистрация: 01.11.2013
Сообщений: 20
05.11.2016, 00:40  [ТС]
Цитата Сообщение от Someone007 Посмотреть сообщение
C#
1
await Task.Delay(x);
Хотелось бы использовать раннюю версию, но видимо придется обновить до .NET Framework 4.5.
Спасибо, про
C#
1
async void Form1_KeyDown(object sender, KeyEventArgs e) {...}
уже сам нашел.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.11.2016, 00:40
Помогаю со студенческими работами здесь

Как пользоваться Sleep без зависаний приложения
Всем привет. Есть такой вопрос. Мне нужно, что бы Label в фоне на секунду поменял цвет. Код примерно такой (пишу с памяти, могу ошибиться с...

Как лучше всего сделать комментарии без капчи, но и без спама?
Здавствуйте, вообщем хочу написать свой блок комментариев для статей,все бы ничего НО Я хочу сделать это без регестрации и капчи,что...

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

Как в access сделать запрос без повторений(чтобы требуемые поля выводились без повтора)???
есть 3 табл. R1 = (ФИО, Дисциплина, Оценка); R2 = (ФИО, Группа); R3 = (Группы, Дисциплина) добавила в R2 столбец где должны пройти экз. и...

Как можно без сетевой карты, без модема под InterBase сделать Remote базу?
Вот такой первый вопросик! А как можно без сетевой карты, без модема под InterBase сделать Remote базу ?? Мне тут говорили, что...


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

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

Новые блоги и статьи
Непрерывная интеграция для пакета Python
Mr. Docker 22.06.2025
Было 4 часа утра пятницы, когда я выпустил новую версию нашей внутренней библиотеки для обработки данных. Релиз 0. 5. 2 содержал небольшой фикс для обработки дат в ISO формате, что может пойти не так?. . .
Продвинутый ETL на C# из OLTP БД в хранилище
stackOverflow 22.06.2025
Работая в сфере корпоративной аналитики, я постоянно сталкиваюсь с одним и тем же - нужны чистые, структурированные и, главное, свежие данные. Без них современные аналитические системы, машинное. . .
Мастер-класс по микросервисам на Node.js
Reangularity 21.06.2025
Node. js стал одной из самых популярных платформ для микросервисной архитектуры не случайно. Его неблокирующая однопоточная модель и событийно-ориентированный подход делают его идеальным для. . .
Управление Arduino из WPF приложения
Wired 21.06.2025
Зачем вообще связывать Arduino с WPF-приложением? Казалось бы, у Arduino есть собственная среда разработки, своя экосистема, свои способы управления. Однако при создании серьезных проектов. . .
Звёздная пыль
kumehtar 20.06.2025
Я просто это себе представляю: как создавался этот мир. Как энергия слипалась в маленькие частички. Как они собирались в первые звёзды, как во вселенной впервые появился Свет. Как эти звёзды. . .
Создание нейросети с PyTorch
AI_Generated 19.06.2025
Ключевое преимущество PyTorch — его питоновская натура. В отличие от TensorFlow, который изначально был построен как статический вычислительный граф, PyTorch предлагает динамический подход. Это. . .
JWT аутентификация в ASP.NET Core
UnmanagedCoder 18.06.2025
Разрабатывая веб-приложения, я постоянно сталкиваюсь с дилеммой: как обеспечить надежную аутентификацию пользователей без ущерба для производительности и масштабируемости? Классические подходы на. . .
Краткий курс по С#
aaLeXAA 18.06.2025
Здесь вы найдете все необходимые функции чтоб написать програму на C# Задание 1: КЛАСС FORM 1 public partial class Form1 : Form { Spisok listin = new Spisok(); . . .
50 самых полезных примеров кода Python для частых задач
py-thonny 17.06.2025
Эффективность работы разработчика часто измеряется не количеством написаных строк, а скоростью решения задач. Готовые сниппеты значительно ускоряют разработку, помогают избежать типичных ошибок и. . .
C# и продвинутые приемы работы с БД
stackOverflow 17.06.2025
Каждый . NET разработчик рано или поздно сталкивается с ситуацией, когда привычные методы работы с базами данных превращаются в источник бессонных ночей. Я сам неоднократно попадал в такие ситуации,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru