Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Программирование под Windows > .NET
Перезагрузить страницу С#: остановка цикла до нажатия кнопки
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Oxlamon Oxlamon вне форума
Member
 
Сообщений: 33
Сказал(а) спасибо: 3
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 24.04.2012
По умолчанию С#: остановка цикла до нажатия кнопки - 11.01.2015, 04:52

Имеется цикл, который проходит некоторое количество итераций, после чего натыкается на условие и должен остановиться и ждать, пока пользователь не нажмёт одну из двух кнопок, а затем продолжить выполнение цикла до следующей остановки или до конца.

Прошу помочь разобраться, как его нужно остановить, чтобы программа при это не повисла навсегда в цикле while(true){wait}.

Участок кода выглядит примерно так:
csharp Код:
int end = inGame.Count();          
int check = 0;
while (end != check)
{
        check = 0;
        foreach (Player k in inGame)
        {
              k.countScore();
              if (k.type == "AI" || k.type == "Dealer")
                   k.status = k.think(k.score);
              while (k.type == "Human" && k.notClicked)
                   System.Threading.Thread.Sleep(50);
              if (k.status == "wait")
                   check++;
              else if (k.status == "more")
              {
                   k.hand.Add(D.take(Form1.cbOrder.Checked));
                   k.status = "in";
              }
              k.showCards(k.hand, true);
       }  
}

здесь проверка идёт по переменным типа String (значение задаётся при запуске и не меняется) и bool (должно меняться на true при нажатии какой-то кнопки), но это явно неправильный вариант.
Ответить с цитированием
  (#2 (permalink)) Старый
Rius Rius вне форума
Программист
 
Аватар для Rius
 
Сообщений: 7,413
Сказал(а) спасибо: 22
Поблагодарили 940 раз(а) в 924 сообщениях
Регистрация: 27.08.2004
Адрес: Russian Federation
По умолчанию 11.01.2015, 16:15

Это оконное приложение или нет? Цикл в отдельном потоке крутится или в основном?
Ответить с цитированием
  (#3 (permalink)) Старый
Oxlamon Oxlamon вне форума
Member
 
Сообщений: 33
Сказал(а) спасибо: 3
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 24.04.2012
По умолчанию 11.01.2015, 21:29

вроде бы, разобрался.
предложение оконное, пришлось добавить BackgroundWorker и перенести обработку цикла на него, чтобы кнопки заработали.
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка нажатия кнопки на GroupButton Leon C++ Builder 5 13.03.2012 07:31
После нажатия кнопки пуска проходит 10 мин bdfaa Windows XP 24 15.05.2011 16:09
Необходимо внутри цикла производить приостановку до нажатия кнопки на форме Коржик Visual Basic 1 25.04.2011 20:01
Имитация нажатия кнопки Антон85 С/С++ 3 22.03.2009 23:16
Создание эмулятора нажатия мышки на заданные кнопки Rocky Вопросы начинающих программистов 2 29.11.2006 15:57
выполнение цикла после нажатия клавиши diment Visual Basic 2 13.09.2006 11:12
VB+Microsoft Excel Отмена нажатия кнопки если.... Strobery Visual Basic 1 08.09.2006 12:11
Как выглядят обработчики событий нажатия на кнопки Лёлик2 C++ Builder 5 05.01.2006 20:22
Поиск команды для определения нажатия кнопки Chuvak C++ Builder 0 30.04.2004 00:21
Как запустить команду для простого нажатия кнопки в С++ bes Вопросы начинающих программистов 1 16.03.2004 19:02
Эмуляция нажатия кнопки в другом окне Anonymous Visual C++ 6 16.01.2004 19:20
Эмуляция нажатия на кнопки мыши Shurik_A Visual C++ 19 24.12.2003 14:37



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов