На данный вопрос уже ответили:
Если использовать в цикле паузу System.Threading.Thread.Sleep(1000), то на паузу ставится вся программа. Мне нужно, чтобы во время паузы в цикле я мог нажимать на кнопки Windows Forms.
Простой пример запуска таймера потом его использования. Первой кнопкой запускаем таймер, который увеличивает i. Второй кнопкой помещаем i в поле. Таким способом можно решить Вашу проблему. Программа не будет зависать.
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
int i = 0;
private void button1_Click(object sender, EventArgs e)
{
timer1.Interval = 1000;
timer1.Enabled = true;
}
private void button2_Click(object sender, EventArgs e)
{
textBox1.Text = i.ToString();
}
private void timer1_Tick(object sender, EventArgs e)
{
i++;
}
}
}
UPD В вашем случае цикла не будет, а будет вызываться нужный код в самом таймере (например там будет вызов функции, которая ранее была у Вас в цикле)
Для остановки цикла можно использовать timer1.Enabled = false; , который вызывать при нажатии кнопки
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Напишите программу (на языке JavaScript), которая найдет в массиве все пары целых чисел, сумма которых равна заданному значению